2007-10-16

使用 Ideawu.P2P.Core.UdpLink 进行 NAT 穿透

Views: 15438 | 3 Comments

使用 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.

备注:

Related posts:

  1. 使用 Ideawu.P2P.Core.AccountManager 登录服务中心
  2. 使用 Channel 进行可靠传输
  3. Ideawu.P2P API 简介
  4. C# P2P 传输模块
  5. 对P2P应用不友好的NAT
Posted by ideawu at 2007-10-16 21:06:58

3 Responses to "使用 Ideawu.P2P.Core.UdpLink 进行 NAT 穿透"

Leave a Comment