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

14.03.2009
13
0
#1
Пытаюсь написать локальный чат. Использую компоненты TIdTCPClient и TIdTCPServer.
так я отправляю сообщение:
Код:
Client->Host="127.0.0.1";
Client->Port=23;
Client->Connect();
Client->IOHandler->WriteLn(Memo1->Text);
Как обработать это сообщение на сервере и отправить адресату?
И подскажите как отобразить список подключенных пользователей, чтобы при кликание на ник открывалось окно для написания и отрпавки сообщения? Какие методы использовать, я просто только ,только вникаю в эти компоненты, поэтому сразу же возникли трудности.
 
14.03.2009
13
0
#2
есть TreeView там отображаются категория в моем случаи: Начальник, Секретарь,Бухгалтерия и т.д.Как отобразить список подключенных пользователейв ListView. Тоесть нажал я на TreeView->Бухгалтерия и отображается список пользователей из бухгалтерии?
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#3
Ну при подключении пользователей добавляйте ноды(TTreeNode) к соответствующим родительским нодам(Начальник, Секретарь,Бухгалтерия и т.д) с их именами.. Зачем еще лишний компонент?
 
14.03.2009
13
0
#4
vital
кстати да! Спасибо за совет.
Подскажи как организовать приват. Я хочу рядом с ttreeview поставить memo и там вести переписку. Только подскажи: выбрал я себе собеседника нажал на него в treeview переписываюсь через мемо,потом переключился на другую переписку,потом обратно и лог остался нашей беседы.
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#5
и в чем конкретно вопрос?=)
 
14.03.2009
13
0
#6
vital
)))))))))) я конечно понимаю, что для тебя это не вопрос. Подскажи пожалуйста как это организовать?
 

vital

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