Javascript Websocket 监听端口 80

标签 javascript jquery html websocket

我在端口 80 部署了一个 Web 服务器,Websocket 在其 javascript 中运行。

var wsURL = ws://localhost:80/ws"
wsConn = new WebSocket(wsURL);

但我不断收到此错误:

WebSocket connection to 'ws://localhost/ws' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

当我使用 80 以外的端口在本地运行此程序时没有问题,但在生产中我需要使用端口 80 并不断收到此错误。

无论如何,我可以让 WebSocket 使用端口 80 吗?

最佳答案

使用 window.location.hostname 将清除您在生产过程中遇到的任何 URL 差异。在 url 中使用 localhost 将导致向用户的本地计算机而不是生产服务器发出 ws 请求。因此您的连接被拒绝。

注意此方法仅适用于当客户端直接由同一 WebSocket 服务器提供服务时,如果服务器不同,您将需要一种方法来获取准确的信息WebSocket 服务器的 url。 --很可能是从后端(为前端提供服务)到 WebSocket 服务器的某种类型的重定向/转发/代理。

关于Javascript Websocket 监听端口 80,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059305/

相关文章:

javascript - 在 IE 中加载本地 XML

jquery - 添加条纹表格样式,包括悬停功能

jquery - 错误 javascript 无法从属性值获取值

javascript - Firefox 中的 NS_ERROR_FAILURE 在隐藏的 iframe 中设置 Canvas 字体

javascript - HTML中高效的毫秒显示

javascript - 将递归文件夹中的多个缩小的 javascript 文件合并到一个文件中

javascript - Chart.js 边距

javascript - freebase如何提取所有公司的详细信息?

jquery - 为什么在添加 Google Map 时两个 DIVS 没有对齐

javascript - 背景图像本身的 CSS 渐变