读书人

还是个关于UDP的有关问题

发布时间: 2012-09-14 11:53:44 作者: rapoo

还是个关于UDP的问题。
A B客户端在同一个局域网内
但是A和B要建立UDP的P2P通信
双方从服务端C获取了对方的公网IP和端口后
这个时候,AB之间用公网IP和端口进行打洞操作,
但打洞不成功。

原因是:两个客户端运行在一个NAT后,这取决于你的NAT是否支持loopback translation

解决方案一:如果外网IP相同,则用内网IP进行通信,但是遇到多层路由状态下肯定是行不通的。
解决方案二:通过UDP服务器进行中转,在多层路由状态下服务器能知道到第二层路由下的客户端?(此情况暂时没有测试,不知道是否这样)
还个问题大家是如何解决?

[解决办法]
A、B通知C时,包括 局域网ip+端口
A从C得到B的公网ip与自己相同时,再使用B的局域网ip+端口
[解决办法]
内网通信直接UDP就可以了。。外网的话TCP这样保证数据正确性!!

读书人网 >.NET

热点推荐