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

时间:2015-07-02 14:21:26

标签: javascript node.js browser websocket cross-platform

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

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

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

感谢您的回复。

3 个答案:

答案 0 :(得分:0)

根据您的具体要求,我发现Socket.io可以很好地适用于NodeJS(使用socket.io-client和浏览器。)它确实只是WebSockets,所以请确保并更多地查看它不适合你的具体目的。

我正在将它用于任务队列并对此感到满意。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

最后,我使用了NodeJS的https://websockets.github.io/ws/包,它与浏览器WebSocket协议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) => {};