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

UDP 内网 外网通信

2013-04-26 
UDP 内网 外网通讯遇到问题了, 现在在弄NTP协议, 就是现在我在内网一台PC机器通过UDP_socket发送数据到一

UDP 内网 外网通讯
遇到问题了, 
现在在弄NTP协议, 就是现在我在内网一台PC机器通过UDP_socket发送数据到一公网IP(上海的一个授时中心) + Port(Port=123), 如果正确的话,我会收到授时中心返回的信息。我用的select。
   但是现在我没有收到信息, 请问下像这种UDP 内网与外网通信,与局域网内部通信有什么不同,需要注意什么。

收不到信息,我分析可能有两种。
1.我发送的数据有错误,
2.可能我UDP收数据代码有问题。



NTP ?UDP ?内网 ?外网
[解决办法]
“上海的一个授时中心”用的是TCP还是UDP,如果是TCP 那你也得改TCP


判断是否有数据这样用
if(FD_ISSET(socket, &fd_set))
{
                recvfrom(socket,...);
}
[解决办法]
可以了解一下UDT,UDX,VTCP协议,都是可靠的UDP协议。
[解决办法]
如果排除你的代码有BUG,那么

[1] 你的WINDOWS防火墙没有处理好,应该添加例外

[2] 你发送给服务器时使用的端口[服务器接收端口] , 和服务器返回数据给你的端口[服务器发送端口] 不相同,同时很不幸的是,你的电脑位于内网,没有UPNP,那么该包就被你的网关给咔嚓了, 这种情况是最常见到的。

热点排行