|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi Indy TCP Chat
Доброго времени суток. Пишу чат на делфи. Можно использовать только библиотеку Indy. В принципе сообщения между клиентом и сервером я осилил, но есть задача отображения пользователей. Создал свой класс для идентификации пользователей. Поскольку у каждого пользователя есть имя нужно проверять его занятость в чате. Хранить данные не нужно. В чём сообственно загвоздка , как реализовать систему команд, чтоб сервер и клиент могли понимать друг друга. Например подключился новый пользователь об этом надо уведомить других сервер в потоке отсылает инфу и клиент должен понять что нужно обновить ListBox подключившихся клиентов. Думал использовать SendCmd но так и не понял его до конца. Были варианты в начале передаваемой строки ставить какой нибудь код для определения операции.
|
#2
|
|||
|
|||
Бррррррррр....
Ничего не понял, сумбур какой-то. Вообще, тут 2 варианта. Либо после подключения клиента к серверу создается еще одно подключение в обратном направлении, либо клиент периодически опрашивает сервер и получает все обновления (push и pull). Ну а как передать какую-то инфу. Ну так клиент и не обязан отображать все, что получает от сервера. Добавляй в начале какой-нить код, например: TEXT:[user_name]bla-bla-bla NEWUSR:new_user_name SYSTEM:special_info В первом случае клиент будет печатать в чат то, что прислал сервер, т.е. сообщение от пользователя user_name Во втором выдаст сообщение, типа 'в чат подключился new_user_name' В третьем вообще ничего не покажет, а сделает что-то нужное (в зависимости от того, что пришло в special_info) |