改写UDP包的源IP,就可以实现位于两个不同局域网后的机器之间点对点通讯了吧?(内有详细解释)
首先,这两台位于不同局域网内的机器登录到服务器上,服务器把两台机器的IP告诉了他们双方,然后又把服务器IP告诉他俩。
其中一方客户端,向另一个客户端发UDP包,发之前先用SOCKET RAW把UDP包的源IP和端口改成和服务器的IP和端口一样。这时就欺骗了另一个客户端的网关了。
UDP包首个两个字节也可以包含自已的真实IP和端口,其实也可以用服务器告诉自已的对方的真实IP和端口。此时收到UDP包的客户端也可以取出真实IP回讯了。
这种点对点解决方案好不好?