VB winsock怎样判断某台客户机

来源:百度知道 编辑:UC知道 时间:2024/06/19 11:10:30
我用VB做了一个winsock的服务器,现在有N个从机要连到上面,我要怎么才知道具体是哪台从机连上了,还有当有从机下线是怎样知道是哪台下线了
我用WINSOCK做了个服务器,打算用多台GPRS组网。如果现在有两台GPRS客户端(A、B)同时连到了winsock服务器上。如果我想把它们对应成两个站点(甲、乙),并向乙站点发送数据,我要怎样才能实现。GPRS模块的IP均不固定
也可以用一个函数在sinsock的请求事件中获取相应的设备ID,但我不知道怎么弄,请高手指点

用winsock发消息的时候,就知道了赛。比如第2台机子发个消息,消息内容是约定信号2,就表示ip是某个地址的连上了啊。

定时发消息,如果某段时间没有收到消息,表示这个ip机子下线了。

有很多种方式,例如从机每隔3分钟发送一个刷新请求给主机,而主机上对超过3分钟(应该设置得比从机刷新时间略长)未刷新从机认为下线. 如此即可.

服务器端定义一个数组
在ConnectionRequest 事件中
记录你的客户机信息。

当远程计算机请求连接时出现。

仅适用于 TCP 服务器应用程序。在请求一个新连接时激活该事件。激活事件之后,RemoteHostIP 和 RemotePort 属性存储有关客户的信息。

服务器端用的是控件数组吗?
客户机下线可以给主机发送一个消息,通知服务器。
或者服务器定时检查所有winsock控件的State 属性,如果未连接即为已下线。

VB