使用WebSocket连接到标准套接字

Ron*_*nOD 5 javascript html5 google-chrome websocket

我有一个通过标准TCP套接字进行通信的硬件设备的客户端接口.是否可以在Chrome浏览器中使用WebSocket连接到此?这是我用来连接的代码:

var ws = new WebSocket("ws://127.0.0.1:13854");
ws.onopen = function() ...
Run Code Online (Sandbox Code Playgroud)

到目前为止,客户端在第一行失败了.问题是WebSockets是否使用自己的标准本地套接字不熟悉的协议?我已经尝试指定其他协议('http:// ...'和'tcp:// ...'),但这没有用.

Phi*_*ipp 8

正如已经解释的那样,WebSockets不会像你提供的那样传输数据,而是为数据流添加成帧和屏蔽.因此,不可能使用websockets与不实现WebSocket协议的应用程序通信.

但是有一种解决方法:Websockify服务器可以用作代理,以桥接websocket客户端和非websocket服务器.客户端不直接与应用程序通信,而是使用websockify服务器.Websockify解压缩Websocket数据流并将其中继到服务器.然后将来自服务器的响应打包到WebSocket帧中并发送到客户端.