求助vb winsock通信达人

2024-11-15 05:52:42
推荐回答(3个)
回答1:

winocks连接有2种协议,你有服务器、客户端应该采用的是tcp协议。以前写过类似的软件。多链路想法不错但vb不能多线程处理问题而且不够稳定。我想你的问题可能是单服务器多客户机,可以考虑2点:
1、服务器判断某一个客户机一旦失去链接马上初始化先前连接的端口
2、服务器、客户机先约定特定范围内的端口,可以有很多端口(定数量的winsock可以动态开端口,也可以动态建立很多指定端口的winsock控件,前者效率更高,缺点就是端口数量不多),当客户机连接时根据返回的结果动态选取约定的端口进行的链接,这样一般情况下成功率会很高。
链接问题解决了以后剩下的问题当然是服务器判断是那台机子链接在哪个端口的事了,这个问题很好解决,当第一次链接成功时客户机可以发个IP给服务器并记录此时的端口号。

回答2:

如果要开启2路进行侦听的话,winsock的本地IP和端口号必须有一个不相同,否则就会出现这种情况。

回答3:

用完之后要关闭端口啊