我是这么做的,完全可行:
在服务器端定义这样一个类:(uses WinSock)
TTest=class(TObject)
sHostName:string;
csSocket:TCustomWinSocket;
end;
再定义一个TList:lTest的私有变量。在服务器开始运行时初始化:lTest:=TList.Create;
Destroy时:lTest.Clear;lTest.Free;
在ServerSocket1接受ClientSocket1的连接时,将赋值一个TTest,然后加入lTest中。
tUser:=TTest.Create;tUser.sHostName:=Socket.RemoteHost;
tUser.csSocket:=Socket;
lTest.Add(tUser);
然后就可以控制不同的连接了。
TCustomWinSocket(TTest(lTest.Items[index]).csSocket).SendText('Test Ok');