websocket客户端可以从80/443以外的其他端口连接到websocket服务器吗

Tom*_*Tom 5 html5 websocket

我是Websocket编程的新手,但是我的最新项目需要在Ubuntu Linux Server上部署WebSocket Server。我已经从互联网上阅读了一些书,并且知道-

  1. websocket客户端将通过端口80/443连接到服务器,并且其协议标识符相应为ws / wss。http://www.websocket.org/aboutwebsocket.html
  2. Apache / Nginx Web服务器通常将在服务器端侦听80/443,因此我们必须配置Apache / Nginx以支持ws / wss协议,更好地将连接传输到websocket服务器,就像代理一样。
  3. 有一些适用于Apache的websocket服务器插件,我也知道Nginx 1.3+本身就支持websocket协议,可以很好地配置它以及与websocket服务器一起使用。

根据我的了解,我认为我可以通过80/443一起部署Apache / Nginx和Websocket Server。我想知道,是否可以仅使用websocket服务器?我认为,如果我们可以编写一个Websocket客户端从其他端口连接到服务器,那么我们可以做到。

那么我们可以编写一个websocket客户端从不同端口连接服务器吗?

zap*_*oyd 5

是的。独立的 WebSocket 服务器通常可以在任何端口上运行。浏览器客户端在非 HTTP(S) 端口上打开与服务器的 WebSocket 连接没有问题。

默认端口为 80/443 的主要原因是它们是大规模使用的最可靠端口,因为它们能够穿越许多阻止所有其他端口上的所有流量的企业防火墙。

如果这对您的受众来说不是问题(或者您有基于 HTTP 的回退),那么为 WebSocket 服务器使用备用端口是完全合理的(而且容易得多)。另一种选择是使用 80/443 端口,但使用单独的 IP 地址/主机名。