procedure TForm1.L1Click(Sender: TObject);
begin
L1.Checked :=not L1.Checked ;
if L1.Checked then
begin
Clientsocket1.Active :=false;
serversocket1.Active :=true;
statusbar1.SimpleText :='监听...';
end
else
begin
if serversocket1.Active then
serversocket1.Active :=false;
statusbar1.SimpleText :='';
end;
end;
procedure TForm1.C1Click(Sender: TObject);
begin
if clientsocket1.Active then
clientsocket1.Active :=false;
if inputquery('Computer to connect to','Address Name:',server) then
if length(server) >0 then
begin
clientsocket1.Host :=server;
clientsocket1.Active :=true;
L1.Checked :=false;
end;
end;
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
if IsServer then
serversocket1.Socket.Connections[0].SendText(memo1.Lines.Strings[memo1.Lines.count-1])
else
clientsocket1.Socket.SendText(memo1.Lines.Strings[memo1.Lines.count-1] );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
L1click(nil);
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText :='连接到:'+Socket.RemoteHost ;
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
L1Click(nil);
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
Memo2.Lines.Add('连接到:'+Server+'时发生错误');
ErrorCode:=0;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText() ) ;
end;
procedure TForm1.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
begin
IsServer:=true;
StatusBar1.SimpleText:='连接到:'+Socket.RemoteAddress ;
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Clear() ;
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText:='监听...' ;
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText() );