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

Модератор: Модераторы

Address := ParamStr(1);

 сами понимаете, ничего другого, как посылка сообщений всей округе ждать от этой функции нечего. Данная функция как раз и заведует тем, чтобы никто не ушёл несообщённым.
 сами понимаете, ничего другого, как посылка сообщений всей округе ждать от этой функции нечего. Данная функция как раз и заведует тем, чтобы никто не ушёл несообщённым.  Для этого используется специальный широковещательной маской сети, которая в примере представлена константой LADDR_BR и является на самом деле вот этим: 255.255.255.255.
 Для этого используется специальный широковещательной маской сети, которая в примере представлена константой LADDR_BR и является на самом деле вот этим: 255.255.255.255.
 
 FNet.IterReset; // start at server socket
while FNet.IterNext do begin // skip server socket, go to clients only
  n := FNet.SendMessage(aMsg, FNet.Iterator);
  if n < Length(aMsg) then
    MemoText.Append('Error on send [' + IntToStr(n) + ']');
end;
while FNet.IterNext do 
  If FNet.Iterator.LocalAddress='192.168.0.12' Then //адрес взят с потолка ;-)
  Begin
    FNet.SendMessage(aMsg, FNet.Iterator);
    Exit;  //Выходим из цикла, он нам больше не нужен
  End;
  Var
  mySock: TLSocket;
Begin
  mySock:=FNet.Socks[Номер_клиента_по_списку_начиная_с_нуля];
  mySock.SendMessage(aMsg);
End;procedure TLTCPrmtserver.Run;
var
  quit: Boolean;
  s: String;
  c: Char;
begin
  quit := false;
  s := '';                       
  FNet.Listen(1305);
  FNet.Listen(1501);
  Writeln('Сервер запущен');
  Writeln('''Escape'' - выход');
  repeat
    FNet.CallAction;
    if KeyPressed then begin
      c := ReadKey;
      case c of
        #27: quit := true;
        #8: begin
          if Length(s) > 1 then Delete(s, Length(s) - 1, 1)
          else s := '';
          GotoXY(WhereX - 1, WhereY);
          Write(' ');
          GotoXY(WhereX - 1, WhereY);
        end;
        #10,
        #13: begin
          FNet.SendMessage(s);
          s := '';
          Writeln;
        end;
        else begin
          s := s + c;
          Write(c);
        end;
      end;
    end;
  until quit;
end;           
 
 

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1