带有外部和内部IP地址的套接字

socket with external and internal ip address

本文关键字:地址 套接字 IP 内部 外部      更新时间:2023-10-16

我想知道像whatsapp这样的短信应用程序这个

有网络问题

PC上的聊天程序:

服务器(1.2.3.5)路由器(为1.2.3.4)路由器B (1.2.3.6)

在路由器A下面有2台计算机期间)(192.168.0.2B (192.168.0.3)

在路由器B下有2台计算机C (192.168.0.4)D (192.168.0.5)

当D想要连接到A时,将消息发送给服务器,服务器将消息转发给A,路由器(1.2.3.4)需要设置端口转发规则例如,聊天程序使用端口999当服务器发送消息到1.2.3.4:999时,路由器(1.2.3.4)将消息转发给a(192.168.0.2:999),可以在PC上设置路由器设置

但是当我们使用手机并连接到wifi时电话的外部IP被更改并分配给内部IP,但显然我们不能在该路由器上设置端口转发规则那么,短信(或whatsapp)如何在网络上很好地工作呢?

服务器需要与位于不同子网上的机器通信。您有两个选择:

  • 让客户端发起到服务器的连接。例如,这就是Skype的工作原理。客户端一旦连接上,服务器就可以向其发送数据。

  • 让客户端使用uPnP转发路由器上的一个已知端口。但是,这需要服务器提前知道端口和主机。除了特定的应用程序(如BitTorrent),这通常是不可能的。