【问题标题】:How to create a communication between browser and application如何在浏览器和应用程序之间建立通信
【发布时间】:2012-02-29 22:41:54
【问题描述】:

我有一个大问题,我很难解决它。我有一个定制的游戏控制器,它通过串行通信从它的传感器输出一些数据,并通过串行端口连接到 PC。我在 Matlab 脚本中计算当前控制器位置。我正在构建一个 Web 应用程序,它将在 Web 浏览器中显示设备的数据(位置),但似乎无法解决如何将我的设备连接到浏览器。 Matlab 脚本将所有位置数据发送到采样频率为 100HZ(每秒 100 个样本)的 UDP 端口。我需要在 Web 浏览器和我的 matlab 脚本之间建立持久连接,以便能够显示数据。我正在考虑使用网络套接字 API。但它不“说”UDP。所以我的想法是以某种方式使用自定义 Python 服务器从 UDP 读取数据,然后在该 Python 服务器上创建一个 websocket,并将通过 UDP 端口接收到的数据发送到 Web 浏览器。哦,如果我能双向交流就好了。这行得通吗?关于如何做的任何想法?这通常是如何完成的,我的意思是如何将一些温度传感器连接到网络浏览器以实时显示数据?

任何答案将不胜感激。

谢谢, 里昂

【问题讨论】:

    标签: python browser udp websocket communication


    【解决方案1】:

    请注意,尽管 WebSockets 协议是基于 TCP 套接字构建的,但 WebSockets 协议并不是原始 TCP 套接字。 WebSockets 连接具有 HTTP 友好的握手(内置一些 CORS 功能)。 WebSocket 也是基于消息的(而不是像 TCP 那样的流式传输),因此每条消息都有几个字节的帧头。

    您可以查看websockify(免责声明:我制作了 websockify)。 Websockify 是一个 Python 服务器,它在 WebSocket 和普通 TCP 套接字之间桥接/代理。我认为将其调整为在后端处理 UDP 套接字并不是特别困难。

    WebSockify(设计用于与包含的 include/websock.js 前端库一起使用)支持二进制数据,即使在旧的 Hixie 协议版本上也是如此。这允许它与仍然只支持旧版本协议的 iOS(iPhone、iPad)设备一起使用。

    【讨论】:

      猜你喜欢
      • 2014-06-25
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多