我有一个本地服务器输出我的实时家庭传感器数据,我想在我的浏览器中可视化它。
我的问题是,我可以使用 websocket 打开从浏览器到本地服务器的连接吗?我该怎么做呢?
本地服务器在非 http 指定的端口号上运行,我无法更改它。
是和否。
否:
WebSocket 不是原始 TCP 连接。它们具有与HTTP兼容的握手(用于安全性和与现有服务器的兼容性),并且每个数据包都有一些最小的成帧,以使WebSockets成为基于消息的协议。此外,目前浏览器中存在的当前 WebSocket API 和协议并不直接支持二进制数据消息。它们仅使用 UTF-8 编码的有效负载。
是的:
您可以使用websockify将WebSockets连接代理到原始二进制TCP服务器。 websockify是一个Python代理/桥,具有二进制支持,还包括一个JavaScript库,以便更容易地与之交互。此外,websockify还包括web-socket-js fallback/polyfill(在Flash中实现),适用于不支持本机WebSockets的浏览器。缺点是您必须在某个地方(在客户端系统、服务器系统或其他系统上)运行 websockify。此外,websockify目前只是Linux/UNIX。从好的方面来说,websockify有一个特殊的模式,您可以使用它来启动和包装现有服务。
免责声明:我做了网络。