用socket通信。如果几个客户连一个服务器(100分)

  • 主题发起人 主题发起人 tennic
  • 开始时间 开始时间
T

tennic

Unregistered / Unconfirmed
GUEST, unregistred user!
用socket通信。如果几个客户连一个服务器。服务器怎么选择通讯。
就是如果想只发给a客户而不想发给b ,c怎么选择。
 
socket有一个属性ActiveConnections指定了连接的客户数量,
还有一个属性Connections指定了连接的客户信息,可以通过指定
Connections[N]来指定第个客户,如第1个则为Connections[0],
得到它的远程地址为Socket.Connections[0].RemoteHost,可以通
过这种方式对所有的用户发送消息,如
for n := 0 to ServerSocket.Socket.ActiveConnections - 1 do
ServerSocket.Socket.Connections[n].SendText(temps);
现在你应该知道怎样向其中某些用户发送消息了。
 
建个表结构为:客户名,句柄。
每个客户连接时将客户名,句柄保存,要对A说时的处理如下:
for n := 0 to ServerSocket.Socket.ActiveConnections - 1 do
if serversocket.socket.connections[n].handle=数据库中A对应的句柄
then ServerSocket.Socket.Connections[n].SendText(temps);
 
后退
顶部