我的目标是使用特定协议在JavaScript中实现websocket客户端。
此客户端应独立于平台。它应该能够从NodeJS环境和浏览器运行。我知道一个选项是在NodeJS包上使用browserify而不是在浏览器中使用结果,但我想知道是否还有其他更优雅的解决方案?
同样在 ws NodeJS包的github repo中,我认为最流行的是返回global.WebSocket,它的API略有不同。 我还可以将它用于独立于平台的客户端应用程序吗?
感谢您的回复。
答案 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) => {};