首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb6.0,关于winsock控件,udp广播怎么穿透路由器

2012-05-10 
vb6.0,关于winsock控件,udp广播如何穿透路由器情况是这样的:我的局域网中有一台服务器和N台客户机,原来服

vb6.0,关于winsock控件,udp广播如何穿透路由器
情况是这样的:我的局域网中有一台服务器和N台客户机,原来服务器和客户机都连接在电脑的lan口上,我写了一个服务器软件,自动广播服务器的ip地址,当客户机上运行客户端软件时,收到这个广播后客户端软件会做下一步的动作。
现在由于某种原因,需要将服务器连接到路由器的wan口上,导致客户机软件不能再收到服务器的广播,我的广播程序如下:

Dim 服务器ip As String

Private Sub Command1_Click()

With winsock1
 .Close
 .Protocol = sckUDPProtocol
 .RemoteHost = "192.168.0.255"
 .LocalPort = 7776
 .RemotePort = 7777
 .Bind
 服务器ip = .Localip
End With

Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
系统消息.SendData "服务器ip" & 服务器ip
End Sub

我将 RemoteHost 属性设置为 "192.168.255.255"、"255.255.255.255"都不行,烦请各位高手给支个招,如何才能让lan口上的客户机收到wan口上的服务器广播,感谢各位。

[解决办法]
NAT穿越
[解决办法]
但是我也不是很懂,坐等高手出现
[解决办法]
也不会转个弯 真正广播不到 你不会按ip段一个一个去发送吗
[解决办法]
路由器的 WAN/LAN 两端必须是不同的网段,
首先,服务器接到 WAN口 后 ip 必须和原先不属于一个网段;
其次,路由器一般设置的是 LAN->WAN 的路由,要进行 WAN->LAN 的访问通常需要添加静态路由。
Google: 路由器 跨网段访问
[解决办法]
1)你先确认服务器可以访问任意客户端。
2)必须用子网广播 192.168.255.255,直播 255.255.255.255 是不能跨路由的。
3)检查路由器设置,为防冲击波之类的病毒,子网广播可能会被禁止的。

[解决办法]
路由器不一样的,需要具有“子网定向广播(subnet directed broadcast)”功能的才行

[解决办法]
网络上用qq的才占多少百分比?用广播纯属添乱。
A)服务器逐个发送
B)客户端定时查询
[解决办法]
http://topic.csdn.net/u/20120406/15/3f8d626f-da39-421a-94bb-cd1b4e611c2b.html

热点排行