【发布时间】:2016-12-09 21:18:29
【问题描述】:
我正在编写一个库,它将使用 Websockets 在不同的进程(以及以不同语言运行的进程,甚至可能在不同的机器上运行的进程)之间进行通信。我想避免与可能已经在机器上运行的现有服务器发生端口冲突。我了解了一些关于临时端口的知识,并且我猜测我可以将临时端口与 Websocket 一起使用以避免端口冲突。
但是,我很难找到有关这是否可行的信息。为了让这变得有价值,我需要一个可以处理临时端口的 Python、Go、Java 和 Node.js 中的 Websocket 实现。我熟悉的唯一 Websocket 实现是 JavaScript 世界中的 Socket.io。
我的问题是:
- 有谁知道是否可以使用临时端口 一般的socket.io和websockets?
- 您能否提供代码示例或链接来说明如何完成此操作?
【问题讨论】:
-
临时端口用于建立连接的一方。侦听套接字需要位于已知端口上,否则客户端将不知道在哪里连接。 en.wikipedia.org/wiki/Ephemeral_port 从 TCP 的角度来看,websockets 没有什么特别之处。
-
好的,这对我很有用,我对此知之甚少
-
所以如果我有 50 个客户端和 1 个服务器,服务器可以监听临时端口,还是客户端?
-
服务器必须侦听客户端已知的特定端口。当连接到侦听端口时,每个客户端通常会绑定到临时端口(但也可能绑定到特定端口)。端口用于连接的两侧。
-
一个 WebSocket 假定一个现有的主机 HTTP 服务器。因此,对于列出端口,您的问题没有多大意义。
标签: sockets websocket socket.io