vb winsock向多客户端发送数据的问题,好的追加分
要从服务器向两台客户端发送数据,发现客户端最后加载的那个可以收到数据,而前一个客户端却收不到数据。服务器与客户端都开在同一台电脑上,在我自己家电脑2客户端都可以收到服务器...
要从服务器向两台客户端发送数据,发现客户端最后加载的那个可以收到数据,而前一个客户端却收不到数据。服务器与客户端都开在同一台电脑上,在我自己家电脑2客户端都可以收到服务器的数据,而学校就不行,只有最后加载的收的到,求解释,好的解答一定加分。
展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
使用控件数组
服务器对每个连线都使用不同index数组
对特定条件或全部的连接发相同广告内容
for i = 1 to Ubound(WinSock1)
'WinSock1(0)控件是服务器自己监听用途
WinSock1(i).SendData "广告内容"
Next i
服务器对每个连线都使用不同index数组
对特定条件或全部的连接发相同广告内容
for i = 1 to Ubound(WinSock1)
'WinSock1(0)控件是服务器自己监听用途
WinSock1(i).SendData "广告内容"
Next i
更多追问追答
追问
我已经是控件数组了,也都一一对应,问题是在家里都可以收到数据,学校不行,会不会是网络设置的问题?请指教
追答
只要Connect之后没有Close,一般问题就是验证接收方网路是不是正常连接运作中
这个可以由服务器先预置发出查询“指令”,意思是服务器对客户端先发送“在不在”,客户端如果有回复“我在”,那么服务器就把“广告内容发出”。如果客户端没有按照预期的回应内容,那么就表示连线已经(多种原因之一)close或被防火墙阻挡。
在TCP准确连接模式情况下,这个来回问答使用的时间是不至于超过0.1秒的。
让学校(客户端程序)主动穿透路由器连接到外网服务器,是较方便于反向连接的,这个你应该很明白原因是学校路由器的设置问题。
如果你的服务器是在家里,那么你的路由器的设置,必须映射外网ip到(内网的某服务器内网ip),这样才能收的到外网ip的客户端传送的信息。你的内网其他工作站能收到,这是正常的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询