有关socket的问题?谢谢!(50分)

  • 主题发起人 主题发起人 sztsg
  • 开始时间 开始时间
S

sztsg

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:现在编一个局域网的程序,客户端的用户时间到了,服务器端通知它消息。在使用serversocket1.connections[index].sendtext('time out')时,如何把index和客户端ip对应起来,也就是说首先知道ip,如何找到index.谢谢!
 
这样吧,首先取得克户端ip,然后记录其index。
存储在一个数组中。

这样就可以通过ip来查找index或者通过index来查找ip了。
 
有没有其他的方法
 
當客戶機登錄時,將IP記錄在列表中,然後判斷時間,如果時間到了,通過這個IP可以取得這個客戶機的序號。
aa:TstringList;
aa:=TstringList.Create;
aa.Add(IP);
Index:=aa.Indexof(IP);
 
serversocket.connections[index]中index时系统自动建立的,也就是它是时刻变化的
 
好象是网吧管理的程序。建议不要用TCP,改用UDP。当然,用TCP服务端是无所谓,但客户
端无谓地增加了负担。
自己在服务端建立一个客户列表。当然可以用TStringList也行。不过有时候并不需要用
IP地址,只需要AddrIn结构和Socket,而这两项在客户登录的时候已经提交了。
 
我试了一下,利用serversocketclientconnect和serversocketclientdisconcnet两个事件统计目前有多少个连接,然后按刚才同志们说的遍历,找到ip和index的关系
 
多人接受答案了。
 
后退
顶部