来自多个主机的持久 Web 服务器连接

来自多个主机的持久 Web 服务器连接

假设 Web 服务器在主机 C 的 8080 端口上运行。假设此 Web 服务器使用持久连接,并且当前正在接收来自两个不同主机 A 和 B 的请求。所有请求是否都通过主机 C 上的同一套接字发送?如果它们通过不同的套接字传递,那么这两个套接字是否都具有 8080 端口?

我认为:它们通过同一个套接字在同一个端口(:8080)传递,因为这个网络服务器使用了一个执着的连接?即由于此连接是持久的,因此它不会为每个传入主机或连接提供新的连接这是真的吗?为什么?

答案1

持续监听端口的应用程序负责处理更高级别协议的连接管理。同一端口上的两个独立连接将由同一应用程序实例处理。两个连接、一个应用程序、一个监听套接字。该应用程序负责维护应用程序连接状态,并管理操作系统的 TCP 连接事件(打开/关闭)。

新的连接在操作系统层建立,一旦建立,就会传递给监听该端口的应用程序。当连接关闭时,它可能是由操作系统关闭的(通常是由于某种原因意外终止),也可能是由应用程序关闭的(正常关闭),应用程序必须处理所有情况。

相关内容