unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; port: TEdit; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; procedure Button2Click(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientWrite(Sender: TObject; Socket: TCustomWinSocket); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button2Click(Sender: TObject); begin memo1.lines.add('Connecting'); serversocket1.port:=strtoint(port.text); memo1.lines.add('serversocket port'); clientsocket1.port:=strtoint(port.text); memo1.lines.add('clientsocket port'); clientsocket1.host:='127.0.0.1'; memo1.lines.add('Clientsocket address'); clientsocket1.active:=true; memo1.lines.add('Clientsocket active'); serversocket1.active:=true; memo1.lines.add('Serversocket active'); memo1.lines.add('All connected, standing by'); end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin memo1.lines.add('Clientsocket has connected successfully'); end; procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin memo1.lines.add('Serversocket has detected a connection'); end; procedure TForm1.ServerSocket1ClientWrite(Sender: TObject; Socket: TCustomWinSocket); begin memo1.lines.add('Client has sent a message'); memo1.lines.add('message is: "'+socket.ReceiveText+'".'); end; procedure TForm1.Button1Click(Sender: TObject); begin if clientsocket1.active=true then begin memo1.lines.add('sending message'); clientsocket1.Socket.SendText('Haha'); end else memo1.lines.add('First connect all'); end; end.