Вниз
Скачать: CL | DM;

Помогите мне разабраться с чатом. PLEASE!!!   Найти похожие ветки 

 
Delpher-Hacker ©   (2002-08-18 02:14) [0]

Вообщем моя проблема заключается вот в чём.
Я взял программу из примеров к Дельфи, и решил её модернизировать.
Borland\Delphi6\Demos\Internet\Chat-вот эта прога. Это чат.
Состоит из одного сервера и нескольких клиентов подключающихся к нему(клиентов может быть много).
И я бы хотел отправлять и получать приватные сообщения, с помощью клиента.
Сервер этого чата может посылать приватные сообщения, но клиенты друг другу не могут.
Вот я и хотел бы узнать как это сделать. Теоритически я представляю как это должно быть.
Клиент посылает своё сообщение, имя клиента(кому придёт это сообщение), и команду, чтобы сервер
смог понять, что это приватное сообщение и не отправлял его всем. Но на практике всё сложнее!
Клиентское приложение использует (IdTCPClient),а сервер (IdTCPServer).
Помогите пожалуйста кодом, если можно.
Заранее благодарен.


 
VID ©   (2002-08-18 16:43) [1]

хм... а кто сказал что должно быть просто ?
В структуре пакета, определи место для флага "Приватное, Публичное". Вот . а когда север получит пакет,
он прочитает та часть пакета где есть этот флаг, и соответствующим образом будет рассылать полученное сообщение.

Т.е. в пакете должны быть как минимум 4 строки:
1. ОТ кого
2. КОМУ (возмножно несколько пользователей)
3. Тип сообщения
4. Текст сообщения

Когда клиент отправляет пакет, все эти четыре строки должны быть заполнены соотв. образом

Сервер получив такой пакет поведёт себя след образом:
если сообщение публичное, то он просто разошлёт его всем клиентам
если приватное, то только тем, кто есть в списке КОМУ + отправит это сообщение отправителю (что бы в его окне чата тоже было его сообщение)

Какой уж тут код ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-68807
vugo
2002-10-09 13:21
2002.10.21
Отправка почты под Exchange 5.5


3-68664
BJValentine
2002-09-27 19:33
2002.10.21
Украинские символы в dbf


14-68973
ev
2002-09-27 21:23
2002.10.21
простенькая карта


4-69058
Alx2
2002-09-06 14:54
2002.10.21
Глючит RichEdit1.Perform(EM_CHARFROMPOS,0,0)


14-68977
Kotka
2002-09-28 16:41
2002.10.21
Пиратское Delphi




   Наверх