擅长:python、mysql、java
<p>正如@S.Lott所说,电击是你的首选方案。在</p>
<p>然后,晕眩只是协议。这里我的建议是:</p>
<p>1<strong>STUN</strong>现在有两个版本:旧版本是<a href="http://www.ietf.org/rfc/rfc3489.txt" rel="nofollow">RFC3489</a>-这是一个轻量级协议,允许应用程序发现它们和公共互联网之间的NAT和防火墙的存在和类型(因此,它主要且仅用于检测NAT类型);新版本是<a href="http://www.ietf.org/rfc/rfc5389.txt" rel="nofollow">RFC5389</a>-这是一个用于其他协议的工具处理NAT遍历。在</p>
<p>2还有一个名为<strong>TURN</strong><a href="http://www.ietf.org/rfc/rfc5766.txt" rel="nofollow">RFC5766</a>的中继扩展。TURN允许主机控制中继的操作,并使用中继与其对等方交换数据包。TURN与其他一些中继控制协议的不同之处在于它允许客户端使用单个中继地址与多个对等方通信。在</p>
<p>工具:</p>
<ul>
<li>STUN服务器(RFC3489):<a href="http://sourceforge.net/projects/stun" rel="nofollow">stund</a>由c++</li>
<li><p>STUN客户端(RFC3489):<a href="http://code.google.com/p/pystun/" rel="nofollow">pystun</a>由python编写</p></li>
<li><p>将服务器(RFC5766):<a href="http://turnserver.sourceforge.net" rel="nofollow">turnserver</a>由c</p></li>
<li>通过c和python转换客户端(RFC5766):<a href="https://github.com/node/turn-client" rel="nofollow">turn-client</a></li>
</ul>
<p>注:
由于TURN是新版本STUN的扩展,TURN服务器也支持RFC5389的新STUN请求。在</p>