日期:2014-05-17  浏览次数:20750 次

TCP打洞...CSDN的老鸟们来指点迷津吧
做了很多天才把UDP打洞做好
然后想了想TCP打洞的原理是不是一样呢

我UDP打洞是这样的:
B把LocalIp, LocalPort,还有Dns(网关)发给服务器,服务器得到B的之后,再为它加上PublicIp,PublicPort,之后发送给A
A也是这样发给服务器,之后再发给B。。。。
然后连接的时候判断是否 Dns是一样的...
如果是一样的,就打Local:LocalPort, 否则就打 PublicIp:PublicPort, 经过测试这样已经可以打通了...
但有个问题就是很不稳定....我想弄成TCP打洞...有没有人知道的~??

------解决方案--------------------
一样的。只不过各种编程平台(包括.net)默认封装的tcp类库是不支持“地址复用”的。你在调用.net的tcp类库时,要注意调用其设置“允许地址复用”属性的方法,否则会出错。