All pastes #25828 Raw Edit

Stuff

public text v1 · immutable
#25828 ·published 2005-10-18 11:18 UTC
rendered paste body
unit serverunit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp;

type
  TForm1 = class(TForm)
    ServerSocket1: TServerSocket;
    Memo1: TMemo;
    Label1: TLabel;
    ClientSocket1: TClientSocket;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Memo1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 ServerSocket1.Port := 23;
 ServerSocket1.Active := True;
 ClientSocket1.Port := 23;
 ClientSocket1.Active := True;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 ServerSocket1.Active := False;
 ClientSocket1.Active := False;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  i:integer;
  sRec:string;
  Mem:string;
begin
 for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
 begin
  with ServerSocket1.Socket.Connections[i] do
  begin
    sRec := ReceiveText;
    if sRec <> '' then
    begin
       Memo1.Lines.Add(RemoteAddress + ' says: ' + sRec);
       Memo1.Lines.Add('------------------');
    end;
  end;
 end;
 ClientSocket1.Host := 'RemoteAddress';
 ClientSocket1.Active := True;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
 if ClientSocket1.Active then
   ClientSocket1.Socket.SendText(Memo1.Text);
end;

end.