山穷水复疑无路,柳暗花明又一村 SocketCC++C#.net
程序员文章站
2022-07-12 16:55:29
...
应该用这个标题吗?
还是应该说是:“一口血喷出来”?
我在4月4日的时候,基本上已经确认了我们的路由器是属于Symmetric NAT而非corn NAT。
结果呢?今天我在仔细阅读natcheck.c的过程中,发现我原来自己检测NAT的方法是错误的!
由于没有将两个socket绑定在一个相同的地址(IP,Port)上,导致发出的TCP请求的外部端口不同...
而要真正做到绑定在同一地址,还要设定ReUse开关。
苦恼了好久,已经绝望了的问题,现在又出现了希望。
真是不知道说什么好
明天接着试验TCP打洞,TCP->UDP打洞的思路,等TCP彻底失败之后再说。
今天倒是找到了一个sf.net上的项目,名叫UDT,是一个基于UDP的数据传输lib,是C++的。可以将UDP模仿成TCP的样子,这正是我想要的功能。(原来想要,也许最后还是要,最好还是不要要)
下一篇: mac开始工作步骤