如何知道Socket所对应的客户端?(100分)

  • 主题发起人 主题发起人 edisons
  • 开始时间 开始时间
E

edisons

Unregistered / Unconfirmed
GUEST, unregistred user!
在Socket的程序中一个ServerSocket对应多个ClientSocket的连接,请问在收到某一个
客户端的消息时如何得道是哪一个客户端发的,并向该客户端返回一个消息?

还有,ServerSocket和ClientSocket好像在Delphi7里没有了,我想取而代之的可能是
TcpServer和TcpClient,这两个东东怎么用啊?望大虾指教!
 
ServerSocket好象有个数组Connections:array[0..max]of TClientSocket,通过
他应该知道是哪个ClientSocket发给你的
 
Connections[0..max]可以通过它对指定的Client发消息,但收到消息好像和Connections[]无关
 
晕,你不会一个一个的判断,着到是哪个TClientSocket?
 
协议得你自己定义...
 
我总觉得这样不太好,有点乱来啊
 
简单啊,
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
Socket就是和那个客户端对应的Socket啊!
 
用循环检索,挺快的!
 
那第二个问题有没有人能回答一下?
 
Socket有个句柄属性,是用来标识每个Socket的!
 
//ServerSocket和ClientSocket好像在Delphi7里没有了
ServerSocket和ClientSocket还有,不过默认没有注册到面板上
在C:/Program Files/Borland/Delphi7/Bin/dclsockets70.bpl里面
把它加进来就可以了
 
多人接受答案了。
 
后退
顶部