如果是两个ClientSocket同时去连接ServerSocket,那你需要将ServerSocket的相应事件派生。如下例: procedure TForm_guanli.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); var sk1:TCustomWinSocket; begin if shuliang<5 then begin shuliang:=shuliang+1;//记录Socket的数量 sk1 := Socket; sk1.OnSocketEvent := ReceiveProcedure;//派生Socket口与客户通信 Showmessage(Socket.RemoteAddress+'开始发送数据!'); Socket.SendText('OK'); //发出回应信息 end else Socket.SendText('BUSY'); end;procedure TForm_guanli.ReceiveProcedure(Sender: TObject; Socket: TCustomWinSocket; SocketEvent: TSocketEvent); begin //写相应代码end;
procedure TForm_guanli.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
var
sk1:TCustomWinSocket;
begin
if shuliang<5 then
begin
shuliang:=shuliang+1;//记录Socket的数量
sk1 := Socket;
sk1.OnSocketEvent := ReceiveProcedure;//派生Socket口与客户通信
Showmessage(Socket.RemoteAddress+'开始发送数据!');
Socket.SendText('OK'); //发出回应信息
end else
Socket.SendText('BUSY');
end;procedure TForm_guanli.ReceiveProcedure(Sender: TObject; Socket: TCustomWinSocket;
SocketEvent: TSocketEvent);
begin
//写相应代码end;