我是这么做的:A、B端在各自子网分别定义个UDP socket,绑定端口9010。 登陆服务器S(向S发送一个UDP包)。S收到UDP包后得到A、B的IP地址和端口号。A的发送给B ,B的发送给A。 然后A发送UDP包给B ,B发送UDP包给A是A就能接收到了。这么实现对不对?我在两个路由(一个TPlink,一个DLink)下面放A、B端程序。TPlink的NAT 类型应该是Full Cone NAT,A->S后,B直接向A发送UDP包,A就能接收到了。
问题出在DLink的路由,正好设置界面有NAT状态可以查看,发现:B->S后 B端的9010就跟S端建立了一个UDP NAT转换。 但B->A后,NAT转换列表里面没有新增B--->A的NAT转换。结果:B->A,A能接收到。 A->B,B接收不到UDP包。 S->B,B是可以接收到的。
DLink路由的NAT是什么类型的? 有办法穿透吗?
问题出在DLink的路由,正好设置界面有NAT状态可以查看,发现:B->S后 B端的9010就跟S端建立了一个UDP NAT转换。 但B->A后,NAT转换列表里面没有新增B--->A的NAT转换。结果:B->A,A能接收到。 A->B,B接收不到UDP包。 S->B,B是可以接收到的。
DLink路由的NAT是什么类型的? 有办法穿透吗?
解决方案 »
- DC.DrawText, 如何使它能像CEdit那样有滚动条的效果?
- 这样的内存按字节拷贝怎样才能提高性能?
- CStringArray怎么样保存为一个文件,然后又能很好的恢复原来的结果,有人知道方法么?最好举一个例子
- 50!有的时候访问别的机器的共享目录需要输入用户名和密码,请问我怎么可以用程序来实现?
- 又是树形控件的问题....
- 有谁知道 怎样在DIALOG中播放FLASH 啊?
- 进程外组件, 入门级问题!!!高分求解
- 关于系统
- 一个怪问题(非编程问题),但少见,希望大虾帮助!
- cvNamedWindow产生的对话框,点击右上角的X响应的消息是什么
- vc++2010类向导问题
- 设置的Timer有些时间令人费解
端口增长是否为你设计的增长量
是根据IP,还是IP和端口通时注意B端用户数是不是很多