p2p打洞成功,但ADSL网络用户收不到信息。 做个p2p的东西,服务器是公网的,客户端A是ADSL网络,客户端B不是ADSL。A向B发消息时B能收到,但B向A发送时A收不到,测试发现所有的ADSL网络都有这种问题,用服务器转发当然可以收到(打洞肯定是成功了),现在不想让服务器承受那么大的压力,有什么办法可以不通过服务器转发,而又能让ADSL网络的用户A收到B发的消息呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20080429/11/31dea162-88f5-4fd6-a3c8-6d972747cbf8.html这是另外一个帖子。 如果A想连接B网络中的一台主机C,那么服务器告诉C,让C主动去连接A就行了。这是反向连接。 如果是你的路由器不支持穿透那就没办法了,这时可以考虑UPNP端口映射 楼主你“打洞”没成功嘛,成功的话应该是欺骗了NAT路由器并在两个不同的子网中建立P2P连接 而且是不经过端口映射的,一般是利用公网服务器辅助打洞一般是A、B两台内网机器都连接公网服务器,然后A想直连B的话就向公网服务器转发请求,让B主动新建一个指向服务器的连接,此时B所在子网的NAT路由器会新建一个NAT地址转换(其实就是个端口映射),服务器就会知道B新建的连接对应的外网端口号,然后将端口号告诉A,并断开B新建的这个连接。B马上监听新建连接的那个绑定端口,同时A马上连接B对应的公网IP及公网端口(服务器告诉A的那个端口号)。一条NAT地址转换规则会在路由器中存在一段时间,所以A连接B是可行的。但有的路由器的NAT地址转换有限制,例如本来是连出的链路,路由器就不接收连入的数据包了,这样会导致A仍旧无法连接B。上面包含个人理解部分,不保证完全正确。 这个? 我在这个方面不太熟悉 紧密关注中>>>...学习~ 你所说的“ADSL网络”是指多台电脑通过ADSL路由上网吗? 关于图片显示的问题 Win Application界面问题 在OpenGL中,用gluPickMatrix拾取3D对象时有问题 现金购买udp穿透各种nat和防火墙的资料和代码 进程的问题 求助:interface的定义到底是什么? 位图按钮? help! 急问:为什么每一次编译后执行EXE文件,他还是要重新建立好多好多文件? 散分需要理由吗?100分只给10个人。 请问COM+/DCOM是如何实现位置透明的 求《Visual C++ 6.0实效编程百例》,收到送分。感谢! p2p打洞 与 UPNP
一般是A、B两台内网机器都连接公网服务器,然后A想直连B的话就向公网服务器转发请求,让B主动新建一个指向服务器的连接,此时B所在子网的NAT路由器会新建一个NAT地址转换(其实就是个端口映射),服务器就会知道B新建的连接对应的外网端口号,然后将端口号告诉A,并断开B新建的这个连接。B马上监听新建连接的那个绑定端口,同时A马上连接B对应的公网IP及公网端口(服务器告诉A的那个端口号)。一条NAT地址转换规则会在路由器中存在一段时间,所以A连接B是可行的。但有的路由器的NAT地址转换有限制,例如本来是连出的链路,路由器就不接收连入的数据包了,这样会导致A仍旧无法连接B。
上面包含个人理解部分,不保证完全正确。