procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket := TClientSocket;
with ClientSocket do
begin
ClientType := ctNonBlocking;
OnRead := Read; //事件指定
end;
end;
procedure TForm1.Read(Sender: TObject; Socket: TCustomWinSocket);
begin
edtRec := Socket.ReceiveText;
end;
procedure TForm1.btnConnectClick(Sender: TObject); //'连接'按钮
begin
with ClientSocket do
begin
Host := Trim(edtIP); //edtIP--Edit框
Port := StrToIntDef(edtPort, 8045); //edtPort--Edit框
try
Open;
except
ShowMessage('连接失败!');
end;
end;
procedure TForm1.btnSendClick(Sender: TObject); //'发送'按钮
begin
ClientSocket.Socket.SendText('A text from Client');
end;
procedure TForm1.btnCloseClick(Sender: TObject); //'断开'按钮
begin
ClientSocket.Close;
end;
//服务端
uses
ScktComp;
var
ServerSocket: TServerSocket;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket := TSErverSocket.Create(nil);
with ServerSocket do
begin
Port := StrToIntDef(dtPort, 8045);
ServerType := stNonBlocking;
OnClientRead := ClientRead;
end;
end;
procedure TForm1.Read(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText('Return from Server');
end;