rendered paste bodyunit 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.