NodeJS && 浏览器交叉兼容的 websocket 客户端

NodeJS && browser cross compatible websocket client

我的目标是在 JavaScript 中使用特定协议实现一个 websocket 客户端。

这个客户端应该是独立于平台的。它应该能够从 NodeJS 环境和浏览器 运行 。我知道一种选择是在 NodeJS 包上使用 browserify 而不是在浏览器中使用结果,但我想知道是否还有其他更优雅的解决方案?

同样在 ws 的 github 回购中,我认为最受欢迎的 NodeJS 包是 returns global.WebSocket API 略有不同。 我还能将它用于平台无关的客户端应用程序吗?

感谢您的回复。

根据您的具体要求,我找到了 Socket.io to work well for both NodeJS (using socket.io-client 和浏览器。它的功能远不止 WebSockets,因此请确保并更多地研究它,因为它可能不适合您的特定目的。

我正在将它用于任务队列并且对它很满意。

查看 SockJS 客户端的 sockjs 作为 JavaScript 客户端库和 服务器实现的 SockJS 节点。 http://sockjs.org

最后我使用了 https://websockets.github.io/ws/ 兼容浏览器 WebSocket 协议的 NodeJS 包 API。

var WebSock = global.WebSocket || global.MozWebSocket || require('ws');

this.sock = new WebSock(url, this.subProtocol);
this.sock.onopen = (evt) => {};
this.sock.onmessage = (msg) => {};
this.sock.onerror = (err) => {};