• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Написание чата

  • Автор темы XyLigan
  • Дата начала
X

XyLigan

Пытаюсь написать локальный чат. Использую компоненты TIdTCPClient и TIdTCPServer.
так я отправляю сообщение:
Код:
Client->Host="127.0.0.1";
Client->Port=23;
Client->Connect();
Client->IOHandler->WriteLn(Memo1->Text);

Как обработать это сообщение на сервере и отправить адресату?
И подскажите как отобразить список подключенных пользователей, чтобы при кликание на ник открывалось окно для написания и отрпавки сообщения? Какие методы использовать, я просто только ,только вникаю в эти компоненты, поэтому сразу же возникли трудности.
 
X

XyLigan

есть TreeView там отображаются категория в моем случаи: Начальник, Секретарь,Бухгалтерия и т.д.Как отобразить список подключенных пользователейв ListView. Тоесть нажал я на TreeView->Бухгалтерия и отображается список пользователей из бухгалтерии?
 
V

vital

Ну при подключении пользователей добавляйте ноды(TTreeNode) к соответствующим родительским нодам(Начальник, Секретарь,Бухгалтерия и т.д) с их именами.. Зачем еще лишний компонент?
 
X

XyLigan

vital
кстати да! Спасибо за совет.
Подскажи как организовать приват. Я хочу рядом с ttreeview поставить memo и там вести переписку. Только подскажи: выбрал я себе собеседника нажал на него в treeview переписываюсь через мемо,потом переключился на другую переписку,потом обратно и лог остался нашей беседы.
 
X

XyLigan

vital
)))))))))) я конечно понимаю, что для тебя это не вопрос. Подскажи пожалуйста как это организовать?
 
V

vital

Ну по пунктам..
как организовать приват.
Либо делаешь отдельно второе соединение, где клиент н1 присоединяется в клиенту н2, который становится сервером. Ну т.е. у каждого твоего бухгалтера начальника или кого-угодно есть свой TIdTCPServer, его ип записывается куда-нить при подключении к основному серверу. Ну и когда нужно написать приват - клиент н1 подключается по заранее известному ипу(ну т.е. будет еще одно соединение).
Либо, сделать в протоколе обмена TIdTCPClient и TIdTCPServer какую-то специальную метку, которая бы обозначала, что это сообщение не всем, а только вот тому-то и именно адресату сервер бы и высылал сообщение, а не всем.
ыбрал я себе собеседника нажал на него в treeview переписываюсь через мемо,потом переключился на другую переписку,потом обратно и лог остался нашей беседы.
Что мешает динамически создавать закладки(табшит) и мемо на них для каждой беседы? Ну или сохранять куда-нить текст из мемо при переключении, что напряжнее, имхо.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!