Websocket客户端能否连接到不同于80/443端口的Websocket服务器?

6
我是一名WebSocket编程的新手,但我的最新项目需要在Ubuntu Linux服务器上部署一个WebSocket服务器。我从互联网上阅读了一些资料,并知道以下内容:
  1. WebSocket客户端将通过端口80/443连接到服务器,其协议标识符分别为ws/wss。 http://www.websocket.org/aboutwebsocket.html
  2. Apache/Nginx Web服务器通常会在服务器端监听80/443端口,因此我们必须配置Apache/Nginx以支持ws/wss协议,并像代理一样将连接传输到WebSocket服务器。
  3. 有一些WebSocket服务器插件可用于Apache,同时我知道Nginx 1.3+原生支持WebSocket协议,并且也可以与WebSocket服务器一起工作。
根据我的了解,我认为我可以通过80/443同时部署Apache/Nginx和WebSocket服务器。我想知道,如果我们可以独立使用WebSocket服务器吗?我认为如果我们可以编写一个WebSocket客户端从其他端口连接到服务器,那么我们就可以这样做。
所以我们能否编写一个WebSocket客户端来从不同的端口连接服务器呢?
1个回答

5

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

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

如果这不会成为受众的问题(或者你有基于HTTP的备用方案),那么使用WebSocket服务器的替代端口是完全合理的(也更容易)。另一种选择是在单独的IP地址/主机名上使用80/443端口。


谢谢。是的,我已经检查了WebSocket API,它可以实现。 - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接