Показать сообщение отдельно
  #1  
Старый 25.03.2012, 23:56
Аватар для Protivogaz
Protivogaz Protivogaz вне форума
Прохожий
 
Регистрация: 25.03.2012
Сообщения: 3
Версия Delphi: 7.2 ЫУ
Репутация: 10
Вопрос Выделение клиента из потока (протокол авторизации)

компонент TServerSocket, отправка сообщений клиенту.
Данный код отправляет текст всем присоединенным клиентам
Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  S: String;
  I: Integer;
begin
//Добавляем к сообщению в строке индетификатор его сокета
  S:='['+TimeToStr(Time)+']'+InTtoStr(Socket.SocketHandle)+'>'+Socket.ReceiveText;
  Memo1.Lines.Add(S); //Добавляем сообщение в список
  //перебираем все установленные соединения
  For i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
     //Проверяем - если индетификатор очередного сокета не совпадает с приславшим сообщение, то...
     if ServerSocket1.Socket.Connections[i].SocketHandle <> Socket.SocketHandle then
//..посылаем очередной клиентской программе сообщения
       ServerSocket1.Socket.Connections[i].SendText(S);
end;

Теперь вопрос - а как установить обмен данными с определенным клиентом? Имеется ввиду не просто текст сообщения.
К примеру клиент присылает на сервер комманду $connect, и тот именнот ему в свою очередь присылает $try, когда подключено к примеру с 10 клиентов. На примере если можно
Ответить с цитированием