Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
17 / 17 / 3
Регистрация: 28.05.2013
Сообщений: 246

Организация многопользовательских чатов в БД

10.12.2013, 09:47. Показов 1446. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно как сделать сабж?

От себя: пишу программу, похожую на коммуникатор. И сразу упреждающие ответы на фразы типа "зачем изобретать, если уже есть" и т.д.:
Пишу диплом!

БД имеет следующий вид (простите, не знаю, как тут таблицу оформить):
Table: users
Fields: id, login, pass

Как сделать один общий чат, и сделать один-на-один -- проблем нет:
Создаю таблицу Messages, имеющую поля: id, from_user_id, to_user_id, datetime
Если to_user_id=0 -- значит сообщение для всех.
Если to_user_id>0 -- значит это id целевого пользователя.

И вот собственно вопрос: Как организовать комнаты на количество больше 2-х человек, и так, чтоб туда можно было приглашать других пользователей, и которые при закрытии окна с данной комнатой, исчезают из этой комнаты?

Пишу на Delphi 7 + SQLEXPRESS.

Предложения можно и без кода, но главное принцип составления таких "комнат" в БД.

Спасибо.

Добавлено через 2 минуты
Не стесняемся, предлагаем варианты!
Обсудим каждый и придем к единому мнению!


Добавлено через 18 часов 1 минуту
Ну так что, никто не знает чтоль? Хоть бы подсказали, куда копать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2013, 09:47
Ответы с готовыми решениями:

Особенности разработки многопользовательских распределенных приложений
я думаю было бы очень полезно, изложить основные концепции и рекомендации по построению подобных приложений на платформе Domino.

Архитектура многопользовательских игр: список серверов
Хау! Во многих играх в мультиплеере клиент получает список серверов. Как они это делают? Что, разработчики сами поднимают и поддерживают...

Из чего должно состоять ядро, для многопользовательских браузерных приложений?
Начну из далека. Взял я себе на дипломный проект, разработку небольшого приложения для социальной сети ВКонтакте. Приложение...

6
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
10.12.2013, 10:15
Накой шиш нужна таблица Messages ?
Хранение и трансляция сообщений отложенной доставки характерен для интернет-пейджеров, а не для онлайн-чатов)
0
17 / 17 / 3
Регистрация: 28.05.2013
Сообщений: 246
10.12.2013, 10:38  [ТС]
mss, Ну, во-первых для логов...
Во-вторых........ Думаю еще над тем, чтоб сделать доставку как в интернет пейджере. Чтоб можно было в оффлайн писать.
Это программа для локального применения, но может быть и через интернет будет использоваться.
В этой же программе будет еще передача файлов для всех, чтоб можно было файлы отсылать даже в оффлайн.
К тому же тут главное именно БД... А остальное -- только оболочка. Если бы не БД -- я бы тогда и не спрашивал...
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
10.12.2013, 10:56
Ну а что с БД не так /не понятно ?
Делов-то на пол-дня - сел и состряпал базу ..
0
17 / 17 / 3
Регистрация: 28.05.2013
Сообщений: 246
10.12.2013, 11:04  [ТС]
mss, Блин... Дык посоветовал бы, что сделать? Как должна выглядеть таблица с комнатами?
Какие изменения в каких случаях?
А то так может любой сказать: "делов-то на пол-дня"...
Повторюсь: Если бы я знал, как это "состряпать", то и не спрашивал бы!

Не по теме:

Не понимаю таких людей. Обращаюсь за помощью, а они в ответ: "делов-то"...
Все равно, что: делаю то-то. Помогите. А в ответ: Нафига? Возьми то-то и то-то... Бред!

0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
10.12.2013, 12:03
Цитата Сообщение от klaxwork Посмотреть сообщение
Как организовать комнаты на количество больше 2-х человек, и так, чтоб туда можно было приглашать других пользователей, и которые при закрытии окна с данной комнатой, исчезают из этой комнаты?
Например, добавь таблицу "текущих подключений", где будут храниться ИД пользователей и номера групп к которым они в текущий момент подключены.
1
17 / 17 / 3
Регистрация: 28.05.2013
Сообщений: 246
10.12.2013, 12:09  [ТС]
FIL, Хм... На счет номеров групп (id "комнаты") я че-то и не подумал...
Спасибо!

Не по теме:

Вот видите, как просто... Дали направление (что я и просил) и тут же пошла работа... :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2013, 12:09
Помогаю со студенческими работами здесь

Статьи по разработке чатов.
Собственно нужны какие-нибудь статьи или ссылки но разработку чатов?

Хранение сообщений для чатов
добрый день у меня возник такой вопрос " как хранить и быстро отдавать сообщения из чата" изначально была идея хранить все в...

Запрос на получение чатов с сообщениями
Допустим, есть таблица chat(id, created_date(timestamp)), таблица message(id, text, author_id, chat_id, created_date(timestamp)), ...

Создание чатов (диалогов) на сайте JSF2
Доброго времени суток. Пишу web-сайт на Java Server Faces. Как мне запилить диалоги (типа вконтакте)? Как хранить сообщения? Как...

Запрос получения чатов с сообщениями и юзерами
Я пока начал делать такой запрос, но он работает не верно(DISTINCT не позволяет просто так использовать ORDER BY ) SELECT DISTINCT...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru