这种NAT 属于 什么NAT啊。
Symmetric NAT :只要目标地址不变 ,外网端口也不会变,所以肯定不是Symmetric NAT....
11 个解决方案
#1
人呢????好冷清啊。。。
#2
描述下你的简单逻辑,打印信息的含义是什么
#3
这个打印信息是在公网服务器上的,用来接收用户心跳包。IP后面的字段是客户端NAT上分配的端口。
我的问题是 为什么这个端口在短时间内不是固定的呢? 不固定的话我服务器在该段时间内就无法发数据给该客户端了。。。
#4
15秒一次, 你改小点试试
#5
可能NAT上的超时小于你的15秒呗,你bind一个端口来发送就可以固定了,何必让系统每次自动分配呢
#6
我自己弄错了,不关bind的事,那就是楼上某人说的减小时间间隔来试试,15秒对于NAT来说也许超时了,路由就不保留你的对应关系了,下次再发送时又是新建的对应关系.
#7
15秒对于系统来说负担太大了。带宽不够
#8
如果是非对称型NAT,你可以往别的地址发嘛,只要保证NAT上你的对应关系保持就行了,如果是对称型的就得想其他办法了.
#9
一语点型梦中人啊。。。自己太纠结了。。。。不过如果是Port Restricted Cone NAT类型的话也没办法穿透了
#10
穿透的话可以猜测嘛,连起3个socket,1,3发服务器,2发对方,如果1,3差值为1,可以推断2的端口,不过这只是最简单的,复杂的就更头疼了.
#11
恩, 谢谢!!!有关于端口猜测的文章吗?
#1
人呢????好冷清啊。。。
#2
描述下你的简单逻辑,打印信息的含义是什么
#3
这个打印信息是在公网服务器上的,用来接收用户心跳包。IP后面的字段是客户端NAT上分配的端口。
我的问题是 为什么这个端口在短时间内不是固定的呢? 不固定的话我服务器在该段时间内就无法发数据给该客户端了。。。
#4
15秒一次, 你改小点试试
#5
可能NAT上的超时小于你的15秒呗,你bind一个端口来发送就可以固定了,何必让系统每次自动分配呢
#6
我自己弄错了,不关bind的事,那就是楼上某人说的减小时间间隔来试试,15秒对于NAT来说也许超时了,路由就不保留你的对应关系了,下次再发送时又是新建的对应关系.
#7
15秒对于系统来说负担太大了。带宽不够
#8
如果是非对称型NAT,你可以往别的地址发嘛,只要保证NAT上你的对应关系保持就行了,如果是对称型的就得想其他办法了.
#9
一语点型梦中人啊。。。自己太纠结了。。。。不过如果是Port Restricted Cone NAT类型的话也没办法穿透了
#10
穿透的话可以猜测嘛,连起3个socket,1,3发服务器,2发对方,如果1,3差值为1,可以推断2的端口,不过这只是最简单的,复杂的就更头疼了.
#11
恩, 谢谢!!!有关于端口猜测的文章吗?