Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2019, 18:56
donik090990 donik090990 вне форума
Прохожий
 
Регистрация: 06.10.2019
Сообщения: 1
Версия Delphi: RAD Studio 10.3
Репутация: 10
По умолчанию Delphi Indy TCP Chat

Доброго времени суток. Пишу чат на делфи. Можно использовать только библиотеку Indy. В принципе сообщения между клиентом и сервером я осилил, но есть задача отображения пользователей. Создал свой класс для идентификации пользователей. Поскольку у каждого пользователя есть имя нужно проверять его занятость в чате. Хранить данные не нужно. В чём сообственно загвоздка , как реализовать систему команд, чтоб сервер и клиент могли понимать друг друга. Например подключился новый пользователь об этом надо уведомить других сервер в потоке отсылает инфу и клиент должен понять что нужно обновить ListBox подключившихся клиентов. Думал использовать SendCmd но так и не понял его до конца. Были варианты в начале передаваемой строки ставить какой нибудь код для определения операции.
Ответить с цитированием
  #2  
Старый 07.10.2019, 21:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,481
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Бррррррррр....
Ничего не понял, сумбур какой-то.
Вообще, тут 2 варианта. Либо после подключения клиента к серверу создается еще одно подключение в обратном направлении, либо клиент периодически опрашивает сервер и получает все обновления (push и pull).
Ну а как передать какую-то инфу. Ну так клиент и не обязан отображать все, что получает от сервера. Добавляй в начале какой-нить код, например:
TEXT:[user_name]bla-bla-bla
NEWUSR:new_user_name
SYSTEM:special_info
В первом случае клиент будет печатать в чат то, что прислал сервер, т.е. сообщение от пользователя user_name
Во втором выдаст сообщение, типа 'в чат подключился new_user_name'
В третьем вообще ничего не покажет, а сделает что-то нужное (в зависимости от того, что пришло в special_info)
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter