我正在学习套接字编程。我的理解是它是 IP 地址和端口号的组合。现在假设我的 PC 上运行着一个监听器,它连接到 Wifi。通过互联网向这个监听器发出的请求应该到达一个公共 IP 地址和端口号的组合。可能有多台 PC 连接到我所连接的 Wifi。当请求到达 Wifi 路由器时,它如何知道应该将其转发到 Wifi LAN 中的哪台 PC?
当我在 Facebook 上聊天或在浏览器中打开 Facebook 时,通过 Wifi 连接连接到互联网,服务器如何“推送”聊天消息和通知给我?它不会遇到类似的问题吗?
答案1
当一个请求到达Wifi路由器时,它如何知道应该将其转发到Wifi局域网中的哪台PC?
它不知道。流量将被丢弃或拒绝。
这就是为什么如果你想在NAT 路由器当然,无线网络也可以“直接连接到互联网”,而无需 NAT。一些大学这样做了。而有了 IPv6,我们终于回到了那个状态。
当我在 Facebook 上聊天或在浏览器中打开 Facebook 时,通过 Wifi 连接连接到互联网,服务器如何将聊天消息和通知“推送”给我?
它不会“主动”推送。它会响应浏览器发送的请求发送数据。这使用已建立的 TCP 连接。