是否可以使用带有所需端口的 http 方案,比如 6500,而不是 WebSockets 中的 ws 和 wss 方案?

Posted

技术标签:

【中文标题】是否可以使用带有所需端口的 http 方案,比如 6500,而不是 WebSockets 中的 ws 和 wss 方案?【英文标题】:Is it possible to use http scheme with desired port say 6500 instead of ws and wss scheme in WebSockets? 【发布时间】:2012-01-04 20:09:27 【问题描述】:

我想知道,

如果有任何方法可以在 html5 中使用 http:// 方案而不是 ws://wss:// 方案为Websockets,如果没有,那为什么不呢?

在 HTML5 中声明 Websocket 和使用自定义协议的各种方法是什么?

【问题讨论】:

您能详细说明一下吗?使用 WebSockets 意味着使用 WebSocket 协议;没有办法规避这一点。 嘿 pimvdb 感谢您的回复我说自定义协议因为这个网站谈论使用自定义协议以及使用 http 而不是 ws 和 wss 但我也读到 ws 和 wss 是唯一一次被允许的看看来自 Mozilla 开发者参考的这个 url developer.mozilla.org/en/WebSockets/… 【参考方案1】:

是的。但是服务器应该以Connection: upgrade 响应,然后切换到WebSocket 协议。除非您正在代理请求。它将使用HTTP CONNECT 来维护隧道,但其想法是WebSocket 流量使用WebSocket 协议。 (reference)

来自 MDN 的页面是草稿,不应用作参考。比较不完整。

如果您正在考虑使用 WebSocket 客户端/服务器,请查看 socket.io。这是一个相当完善的后备实现。

【讨论】:

以上是关于是否可以使用带有所需端口的 http 方案,比如 6500,而不是 WebSockets 中的 ws 和 wss 方案?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以让 3 台服务器使用 Python 套接字在一个端口(比如端口 48000)上相互通信

vCenter Server 所需的端口

Tomcat v6.0 Server @ localhost 所需的几个端口(8080, 8009)已在使用中。服务器可能已在另一个进程中运行,或者某个系统进程可能正在使用该端口。

运行 AWS opsworks 实例所需的基本安全组端口

是否可以使用带有超链接的 Jstree contextMenu

带授权的 SSH 端口隧道