• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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 переписываюсь через мемо,потом переключился на другую переписку,потом обратно и лог остался нашей беседы.
Что мешает динамически создавать закладки(табшит) и мемо на них для каждой беседы? Ну или сохранять куда-нить текст из мемо при переключении, что напряжнее, имхо.
 
Мы в соцсетях:

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