问题描述
特定端口是否使用 CometD 在长轮询中处理来自客户端的所有请求/响应?如果不是,它如何为每个请求分配端口?
解决方法
CometD 客户端可以使用 HTTP 或 WebSocket 作为传输。
在这两种情况下,当 CometD 客户端需要打开一个新的 TCP 连接到服务器时,本地端口由操作系统分配在 ephemeral 端口范围内(这因操作系统而异)到操作系统)。
请注意,对于 HTTP,CometD 客户端通常最多打开 2 个连接(一个专用于长轮询,一个用于发布)。
对于 WebSocket,CometD 客户端只打开 1 个连接。
在服务器上,单个端口(侦听端口)用于接受来自 CometD 客户端的传入连接。