Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2007-12-18 13:20:46 ЛС | профиль | цитата
Зачем-же тогда в клиентской программе TCP_Server?
TCP_Server должен быть на сервере, а TCP_Client - у клиента.
Клиент указывает адрес сервера, к нему и коннектится.
А сообщения идут в обоих направлениях по одному соединению.

Если у тебя сервер на основе TCP_Server, сообщения ты можешь фильтровать в клиенте (т.е. если не мне, то не показывать). Кому предназначено сообщение (а также от кого, а ещё можно сделать служебные команды) посылать естесственно вместе с сообщением.

Например посылать строки в таком формате:

кому/от_кого/строка сообщения
кому/от_кого/строка сообщения
кому/от_кого/строка сообщения

------------ Дoбавленo:

Dilma, а ты не находишь, что в TCP_Server есть глюк? doSend делает для каждого соединения ReadXXX, а в итоге данные посылаются лишь тому, кто подключился первым.
Это можно, конечно, побороть так:

Add(MainForm,1173078,63,105)
{
Left=20
Top=105
link(onCreate,7958982:doOpen,[])
}
Add(TCP_Server,7958982,140,140)
{
Port=12345
link(onRead,9001928:doValue,[])
link(Data,9001928:Value,[(146,125)(186,125)(186,184)(209,184)])
}
Add(Memory,9001928,203,140)
{
link(onData,7958982:doSend,[(248,146)(248,113)(115,113)(115,160)])
}

Но так ли было задумано?

карма: 1

0