我正在使用lidgen-network library 3尝试创建点对点连接。我是网络编程新手,这就是我使用这个库的原因。
使用DiscoverKnownPeer()函数,我可以在我的网络中进行连接。我在网上读到的是,我需要做一个NAT穿透,这需要一个运行在路由器外部的服务器。我希望有一个不需要额外服务器的解决方案。
如果我可以将两个ip地址都存储在web服务器上,并创建一个web服务以通过XML将ip发送到每个相应的客户端,那么我是否能够创建一个对等连接?
提前谢谢你。
发布于 2011-03-04 11:37:31
不能,如果没有会合服务器,您将无法通过NAT建立连接
NAT会阻碍您的工作,因为即使您知道IP地址,也只能到达路由器。路由器收到来自互联网的请求,并且不知道将其发送到哪个内部IP,因此将其丢弃。
NAT穿透的工作原理是让两个对等体相互发送输出请求,然后路由器“知道”在给定端口上指向其公共IP的数据包应该去往给定的计算机。
发布于 2011-05-03 03:15:36
我知道这很古老但是..。
您没有指定在设置中必须使用DiscoverKnownPeer()。如果不是,那么您可以通过在路由器中应用端口转发规则来设置点对点。
https://stackoverflow.com/questions/3784218
复制相似问题