lidgren网络库可以直接连接到两个IP地址的对等点

arr*_*ter 8 c# p2p lidgren

我正在使用lidgen-network library 3来尝试创建点对点连接.我是网络编程的新手,这也是我使用这个库的原因.

使用DiscoverKnownPeer()函数,我已经能够在我的网络中连接.我在网上看到的是,我需要进行NAT穿孔,这需要在路由器外部运行的服务器.我希望有一个不需要这个额外服务器的解决方案.

如果我可以在Web服务器上存储两个ip addesses,并创建一个Web服务以通过XML将ip发送到每个相应的客户端,我是否可以创建对等连接?

先感谢您.

Mar*_*tin 4

不,如果没有集合服务器,您将无法通过 NAT 建立连接

NAT 会阻碍您,因为即使您知道 IP 地址,也只能到达路由器。路由器收到来自互联网的请求,但不知道将其发送到哪个内部IP,因此将其丢弃。

NAT 穿透的工作原理是让两个对等方互相发送传出请求,然后路由器“知道”在给定端口上发送到其公共 IP 的数据包应该发送到给定计算机。

因此,您需要将两台计算机连接到不在 NAT 之后的外部服务器,然后使用该外部服务器协调将两个 NAT 模糊的对等点连接在一起(这是 Lidgren 内置的对等点引入功能)。