Bootstrap

局域网中解决网络穿越(实现打洞)

在进行网络开发过程中,开发的客户端软件若运行在局域网中,则必须进行打洞,才能实现客户端之间的聊天或者传送文件等的网络通信。

其中运行在局域网中的客户端软件若想跟另外一个软件进行通信,由于软件处于内网中,必须使用NAT进行地址转换,由于NAT不允许外部主机主动访问内部主机,因此相互通信之前,双方必须打洞。

首先,A和B客户端需要先登录到服务器S上,然后,A想跟B进行直接通信,必须进行下面的操作:

1、A和B分别登录服务器S;

2、A发送命令给S,请求S命令B向A方向打洞;

3、服务端S命令B向A打洞;

4、B收到消息后向A发送消息;

5、A向B发送消息,实现网络穿越。

通过上面的五个步骤,可以实现两个在局域网中的客户端进行直接通信,但是,服务器S必须处在外网中,这样子,A和B客户端才可以登陆到S上。

;