c# P2P穿透UDP/TCP问题!!
相信很多人都看过P2P穿透UDP/TCP原理!但真正能实现的人不知道有多少!
我初学,没看懂,所以想问几个问题,希望有人能够解答!我希望有代码!原理可能都懂,但实现才是问题!
一:客户端登陆,服务器就记录下该客户端的两个endpoints,前一个看作是客户端的内网ip和端口,把后一个 endpoint看作是客户端的内网ip和端口经过NAT转换后的公网ip和端口。想问的就是服务器端是如何获取到这两个endpoints的?特别前一个?假设客服端都是内网的!
二:UDP打洞客户端是不是不需要监听?只要数据包中有客户端的地址就行是吗?(对UDP的数据包不是很了解)
三:TCP打洞时,客户端A和B使用连接S的端口异步地发起向对方的公网、内网 endpoint的TCP连接,同时监听各自的本地TCP端口是否有外部的连接联入。发起向对方的公网、内网 endpoint的TCP连接是要连接两次吗?还有就是客户端监听的端口应该是哪个?内网的还是公网的?还是需要两个监听?
暂时就这些问题!其他问题还在发现中!!!!