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

Javascript NodeJS&&;浏览器交叉兼容websocket客户端,javascript,node.js,browser,websocket,cross-platform,Javascript,Node.js,Browser,Websocket,Cross Platform,我的目标是用JavaScript实现具有特定协议的websocket客户端 该客户端应该是独立于平台的。它应该能够从NodeJS环境和浏览器中运行。我知道一种选择是在NodeJS包上使用browserify,而不是在browser中使用结果,但我想知道是否还有其他更优雅的解决方案 另外,在最流行的ws-NodeJS包的github repo中,我认为它返回的global.WebSocket的API稍有不同。 我还可以将其用于独立于平台的客户端应用程序吗 感谢您的回复。根据您的具体要求,我发现它在

我的目标是用JavaScript实现具有特定协议的websocket客户端

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

另外,在最流行的ws-NodeJS包的github repo中,我认为它返回的global.WebSocket的API稍有不同。 我还可以将其用于独立于平台的客户端应用程序吗


感谢您的回复。

根据您的具体要求,我发现它在NodeJ(使用和浏览器)上都能很好地工作。不过,它不仅仅是WebSocket,所以请确保对它进行更多的研究,因为它可能不适合您的特定用途


我将其用于任务队列,并对此感到满意。

看看sockjs for sockjs客户端作为JavaScript客户端库,然后 用于服务器实现的SockJS节点。

最后,我使用了与浏览器WebSocket协议API兼容的NodeJS包

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) => {};

你有什么好的解决方案吗?这个项目已经有几年了,但我记得我用browserify捆绑了这个应用程序,并且我不得不编写一个基于平台的使用不同API的小包装器。你能分享你的部分代码吗?因为我再次面临这个问题,看起来没有简单而好的解决方案然而(非常奇怪)。重要的是,它不是完全兼容的。