python-如何在浏览器和应用程序之间创建通信

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

任何答案将不胜感激.

谢谢,
里昂

解决方法:

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

您可能会看到websockify(免责声明:我制作了websockify). Websockify是一个python服务器,可在WebSocket和普通TCP套接字之间桥接/代理.我认为,使其适应后端的UDP套接字并不是特别困难.

WebSockify(旨在与包含的include / websock.js前端库一起使用)甚至在较旧的协议的Hixie版本上也支持二进制数据.这使其可以与仍仅支持旧版本协议的iOS(iPhone,iPad)设备一起使用.

上一篇:使用Python中的“subprocess”调用Java应用程序并阅读Java app输出


下一篇:c#-WCF计时器.不好的做法?