网上的内容大多都是千篇一律的, 连一个效果图都不舍得放. 因此花了一个下午的时间来使用网上的方法进行试验.
手头上有一个可以直接访问到的公网ip, 以及两个nat后的终端, 按照网上的方法, 大致流程是这样的, 客户端A, B先后连接服务器S, S记录下A和B的公网ip以及端口, 然后将A的ip和端口以及B的公网端口发送给B, 将B的公网ip和端口发送给A, 然后A不断地连接B. B也连接一次A, 之后监听自己访问服务器S时的端口.
说是这样B访问A时通过NAT留下的通道之后会作为A访问B的通道, 就可以建立连接, 至此就会打洞成功. 可是我自己实验的并没有成功.
这里想问一下现在应该如何去进行tcp穿透, 网络学的比较渣, 请指点.
简单一点讲就是把一个端口接收的数据,转发到例外一个端口通讯,所以要建立2个不同的socket通讯。