Как отослать от сервера клиенту сообщение? (Indy TCP)

Как отослать от сервера, клиенту сообщение?

Вот мой старый пример

:arrow_forward: Сокеты.rar (2.3 МБ)

Вот так вот отправка с сервера

procedure TForm1.Button2Click(Sender: TObject);
var List:TIdContextList;
i:Integer;
AContext: TIdContext;
begin
  List:=IdTCPServer1.Contexts.LockList;
  for i:=0 to List.Count-1 do
    begin
    AContext:=TIdContext(List.Items[i]);
    AContext.Connection.Socket.WriteLn(Edit4.Text);
    end;
  IdTCPServer1.Contexts.UnlockList;
end;

А вот так вот чтение на клиенте

procedure TForm1.Timer1Timer(Sender: TObject);
var s:String;
begin
if IdTCPClient1.Connected then
  begin
  IdTCPClient1.IOHandler.ReadTimeout:=100;
  s:=IdTCPClient1.IOHandler.ReadLn();
  if not IdTCPClient1.IOHandler.ReadLnTimedout then
    Memo2.Lines.Add(s);
  end;
end;
1 лайк

Не работает у меня в фаер манке эта вещь

Так это просто пример, идея.

IdTCPServer / IdTCPClient и в FM, и в VCL одинаковые.

1 лайк

Все удалось всем спасибо