用于路由器穿透啊,有其他方法也给分
7 个解决方案
#1
典型的p2p网上这些东西很多了
#2
服务器把B的ip地址,等信息告诉A,然后让它们去连接..类似P2P。
#3
A 是某路由下的某台机器,我得到了总是路由的地址,如何得到路由下某机的IP地址及端口呢
#4
就算得到了,也是内网IP地址,如何能让两头都是某路由下的某机器SOCKET连通呢,服务器如何中转
#5
用UDP打洞相对比较容易,客户端A、B分别向服务器发送UDP包,服务器接收时可以取得A、B的公网IP和端口号,将其分别发送给B、A,然后A、B之间再相互发包联系(重复多次),当双方都收到对方的数据后就可以进行通讯了。
如果使用TCP,据说(我没有验证)可以将socket设置为允许复用,在连接服务器后断开,其中一方再listen这个socket,另一方连接。
如果使用TCP,据说(我没有验证)可以将socket设置为允许复用,在连接服务器后断开,其中一方再listen这个socket,另一方连接。
#6
UDP那里没懂,A B拿到的是公网IP,A发往B的包,发到B所在路由器的IP上,路由器如何知道转发给谁,我这个程序的条件不可能做映射啊
#7
既然都是公网IP,直接发就行了,那里还用管那么多
#1
典型的p2p网上这些东西很多了
#2
服务器把B的ip地址,等信息告诉A,然后让它们去连接..类似P2P。
#3
A 是某路由下的某台机器,我得到了总是路由的地址,如何得到路由下某机的IP地址及端口呢
#4
就算得到了,也是内网IP地址,如何能让两头都是某路由下的某机器SOCKET连通呢,服务器如何中转
#5
用UDP打洞相对比较容易,客户端A、B分别向服务器发送UDP包,服务器接收时可以取得A、B的公网IP和端口号,将其分别发送给B、A,然后A、B之间再相互发包联系(重复多次),当双方都收到对方的数据后就可以进行通讯了。
如果使用TCP,据说(我没有验证)可以将socket设置为允许复用,在连接服务器后断开,其中一方再listen这个socket,另一方连接。
如果使用TCP,据说(我没有验证)可以将socket设置为允许复用,在连接服务器后断开,其中一方再listen这个socket,另一方连接。
#6
UDP那里没懂,A B拿到的是公网IP,A发往B的包,发到B所在路由器的IP上,路由器如何知道转发给谁,我这个程序的条件不可能做映射啊
#7
既然都是公网IP,直接发就行了,那里还用管那么多