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

发布于 2024-11-07 16:05:36 字数 131 浏览 0 评论 0原文

我有一个本地服务器输出实时家庭传感器数据,我想在浏览器中将其可视化。

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

本地服务器在非http指定端口号上运行,我无法更改它。

I have a local server outputting my real-time home sensor data, and I want to visualize it in my browser.

My question is, can I use a websocket to open the connection from my browser to the local server? How would I go about doing that?

The local server runs on a non-http designated port number, and I can't change that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

合久必婚 2024-11-14 16:05:36

是和不是。

WebSocket 不是原始 TCP 连接。它们具有 HTTP 兼容的握手(为了安全性和与现有服务器的兼容性),并且为每个数据包提供一些最小框架,以使 WebSocket 成为基于消息的协议。此外,目前浏览器中存在的 WebSocket API 和协议并不直接支持二进制数据消息。它们仅使用 UTF-8 编码的有效负载。

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

免责声明:我制作了 websockify。

Yes and no.

No:

WebSockets are not raw TCP connections. They have an HTTP compatible handshake (for both security and compatibility with existing servers) and have some minimal framing for each packet to make WebSockets a message based protocol. Also, the current WebSocket API and protocol that exists in browsers as of today do not directly support binary data messages. They only UTF-8 encoded payloads.

Yes:

You can use websockify to proxy a WebSockets connection to a raw binary TCP server. websockify is a python proxy/bridge that has binary support and also includes a javascript library to make interacting with it easier. In addition, websockify includes the web-socket-js fallback/polyfill (implemented in Flash) for browser that do not have native WebSockets support. The downside is that you have to run websockify somewhere (either on the client system, the server system, or some other system). Also, websockify is Linux/UNIX only for now. On the plus side, websockify has a special mode that you can use to launch and wrap an existing service.

Disclaimer: I made websockify.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文