Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2008, 23:02   #1
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию Возникла проблема при написании чата HelP

Пишу чат многопользовательский, выделеный сервер.
Компоненты TCPClientSocket и TCPClientServer.
Проблема вот в чём:
Есть у меня главный канал там все общаются.
Один из пользователей "ВАСЯ" захотел приглосить другого в приват "Диму", у Димы в свою очередь добовляется новая закладка на панели канал2. Вася может приглосить ещё когонибуть на свой канал.
КАРОЧЕ ЧЁТО Я ЗАМУТИЛ!!!
ВОПРОС
КАК СДЕЛАТЬ ИГНОР!!!!!!!!
mar4elo вне форума Ответить с цитированием
Старый 28.11.2008, 08:25   #2
Titan123
Форумчанин
 
Аватар для Titan123
 
Регистрация: 27.06.2008
Сообщений: 113
По умолчанию

хм. я , конечно, кода не видел, но, возможно, можно сделать так:
ввести булевскую переменную, к примеру
ignor:=false; - это сначала присвой такой значение.
а потом пиши
Код:
if ignor=false then begin
//далее код для открытия другого канала
end;
пользователю, который хочет поставить в игнор остается только изменить значение переменной на true и все.
разумеется, тебе данную идею придется несколько модифицировать
Titan123 вне форума Ответить с цитированием
Старый 28.11.2008, 10:17   #3
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

Не это не подходит но все равно спс
mar4elo вне форума Ответить с цитированием
Старый 28.11.2008, 10:41   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

зачем игнор ? есть приглашение в приват, которое должно являться некой строкой передаваемой клиенту и судить об открытии и не открытии этого привата надо судить по ответу на отправленную приглашаемому пользователю строку.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.11.2008, 13:02   #5
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

Квэнди, можешь описать по подробнее как реализовать
как бы комнаты для общения, но чтоб пользователи параллельно могли общаться на главном канале. У меня уже есть некая замутка в голове .. может ты чего поумнее подскажешь....
mar4elo вне форума Ответить с цитированием
Старый 28.11.2008, 13:16   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

это все упирается в чистую организацию протокола обмена информацией. Если вы будете при проектировке подобной программы будете изначально привязываться к понятию комнат, приватов и т.д. у вас ничего путного не получится. Необходимо описывать абстрактный протокол, а потом уже пользовать его как вашей душе угодно.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 29.11.2008, 00:49   #7
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

Вы имеете ввиду сначало сделать многопользовательский чат а потом модернизировать??? Или я просто не так понимаю.
mar4elo вне форума Ответить с цитированием
Старый 29.11.2008, 08:32   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Если выделеный сервер, то делаем БД на серваке и пусть там хранится всё, что угодно: и списки приватности, и игнора, да хоть чего. И сообщения в случае игнора, дальше сервера вообще не идут.
zetrix вне форума Ответить с цитированием
Старый 29.11.2008, 15:48   #9
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

БД уже делаю, если писать толковый чат то без нее ни куда.
mar4elo вне форума Ответить с цитированием
Старый 29.11.2008, 16:27   #10
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Я когда-то делал, если юзеры оффлайн и ему посылают сообщение, то оно в БД сохраняется, потом при логине этого юзера, ему отправляются все сообщения, которые он "пропустил" (как в асе).
zetrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Траблы при установке сетевого чата Commfort HAMMAN Свободное общение 0 20.12.2007 20:48
Возникла проблема с созданием таблиц баз данных. Plastik-X БД в Delphi 1 10.12.2007 12:25