udp打洞过程

来源:互联网 发布:知乎是什么样的软件 编辑:程序博客网 时间:2024/05/17 02:24

现实环境:有两个客户端甲、乙需要通信,它们处于两个不同的子网。

解决方案:udp打洞(一般路由器都支持)

解决过程:

1、准备一台服务器,放在公网上,与客户端甲和乙通信,记录客户端甲和乙的Ip和端口信息,这些IP和端口并非甲和乙在内网的IP和端口,而是通过NAT方式映射到路由器上的IP和端口。

2、客户端甲向服务器发送udp消息,请求和客户端乙通信。

3、服务器向客户端甲发送消息,消息内容包含客户端乙的IP和端口信息。

4、服务器向客户端乙发送消息,消息内容包含客户端甲的IP和端口信息。

5、客户端甲根据3步骤获得的信息向客户端乙发送udp消息,同一时刻客户端乙根据3步骤获得的信息向客户端甲发送udp消息,尝试多次,udp打洞就能成功。

其中,客户端甲和乙的子网IP和端口在UDP打洞过程中没有用到过。

原创粉丝点击