我可以打开到运行在任意端口上的本地服务器的websocket连接吗?

问题描述:

我有本地服务器输出我的实时家庭传感器数据,我想在浏览器中将其可视化。我可以打开到运行在任意端口上的本地服务器的websocket连接吗?

我的问题是,我可以使用websocket打开从我的浏览器到本地服务器的连接吗?我会怎么做呢?

本地服务器运行在一个非http指定的端口号上,我不能改变它。

是的,没有。

没有

的WebSockets不是原始TCP连接。它们具有HTTP兼容握手(兼顾安全性和与现有服务器的兼容性),并且每个数据包都有一些最小限度的帧,从而使WebSocket成为基于消息的协议。此外,截至目前为止浏览器中存在的当前WebSocket API和协议不直接支持二进制数据消息。他们只有UTF-8编码的有效载荷。

您可以使用websockify代理一个WebSockets的连接到原始的二进制TCP服务器。 websockify是一个python代理/桥梁,它具有二进制支持,并且还包含一个JavaScript库,以便与其进行交互。此外,websockify还包含web-socket-js fallback/polyfill(在Flash中实现),该浏览器不具有本机WebSocket支持。缺点是必须在某处(在客户端系统,服务器系统或其他系统上)运行websockify。此外,websockify目前仅限于Linux/UNIX。从另一方面来说,websockify有一个特殊的模式,可以用来启动和包装现有的服务。

声明:我做了websockify。