我在互联网上搜索了所有关于NAT与C#和眩晕有关的链接。我得到了应用程序使用的公共IP和端口。在我所读到的大多数网页上,我都看到了STUN协议,它应该可以帮助我连接到NAT路由器或防火墙后面的另一个客户端。现在我的问题..。如果我理解眩晕,眩晕只是给我公开的IP地址和我的NAT的特征。
但我如何才能将这些信息与另一个客户联系起来呢?
下面是使用应用程序http://www.codeproject.com/Articles/18492/STUN-Client配置STUN的示例
发布于 2014-04-28 11:30:23
下面是一个c#实现:
http://www.codeproject.com/Articles/18492/STUN-Client
示例用法:
// Create new socket for STUN client.
Socket socket = new Socket
(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
socket.Bind(new IPEndPoint(IPAddress.Any,0));
// Query STUN server
STUN_Result result = STUN_Client.Query("stunserver.org",3478,socket);
if(result.NetType != STUN_NetType.UdpBlocked){
// UDP blocked or !!!! bad STUN server
}
else{
IPEndPoint publicEP = result.PublicEndPoint;
// Do your stuff
}发布于 2014-04-28 11:21:48
您可以尝试使用punching,它非常简单,易于实现
https://stackoverflow.com/questions/23339688
复制相似问题