|
Oct
16
|
使用 UdpLink 进行 NAT 穿透之后, 将与对方建立一条 UDP 连接. 该 UdpLink 可以用来生成提供可靠传输服务的 Channel, 也可以直接使用其 UDP Socket.
IPEndPoint remoteEP = new IPEndPoint(IPAdress.Parse("2.2.2.2"), 12345);
UdpLink link = new UdpLink();
link.Udp = new UdpClient();
link.RemoteEndPoint = remoteEP; // 设置对方节点的公网地址.
link.ReadKey = "my key +"; // 建立连接时期望从对方接收到的口令.
link.SendKey = "his key -"; // 建立连接时对方期望的口令.
link.Start(); // 进行 NAT 穿透.
当 Start() 方法成功返回时, NAT 穿透已经完成, 否则会抛出一个异常. UdpLink 可以应用在以下网络结构: No-NAT — Any, Cone NAT — Any, Loose Symmetric NAT — Any.
备注:
- 本文是关于我的 P2P SDK 的介绍的一部分, 详细文档请见 http://www.ideawu.com/p2p/
- Loose Symmetric NAT 是指某些有"loose matching behavior"的 Symmetric NAT, 详见 P2P穿透NAT的思路
- 微软的 Windows NAT 有"loose matching behavior", 但不是 Symmetric NAT: Microsoft Windows Server TechCenter: How NAT Works
Related posts:
2 Responses to “使用 Ideawu.P2P.Core.UdpLink 进行 NAT 穿透”
Pages:
Leave a Reply

2008-07-01 at 20:00:03
请问作者,你所提到的微软的P2P包在哪里有下载呢?希望你能告诉一声,我一直没有找到,在这里先谢谢了.如果您有,请你发到我的邮箱:zuoqoso@163.com,或加载我的QQ联系方式:153965188,热切期待中....
2008-07-02 at 15:57:12
回复邹青松: http://www.microsoft.com/windowsxp/p2p/default.mspx