如何在Python中通过HTTP通过UDP流提供数据?
我目前正在通过网络公开来自旧系统的数据。我有一个(旧版)服务器应用程序,可以通过UDP发送和接收数据。
该软件使用UDP实时(近)实时(连续5到10毫秒更新一次)向给定的一组变量发送顺序更新。 因此,我不需要捕获所有UDP数据-检索最新的更新就足够了。
为了通过Web公开此数据,我正在考虑构建一个轻量级的Web服务器,该服务器读取/写入UDP数据并通过HTTP公开此数据。
我对Python有经验,因此我正在考虑使用它。
问题如下: 我如何(连续)从UDP读取数据并使用Python按需通过TCP / HTTP发送数据快照? 因此,基本上,我正在尝试构建一种“
UDP2HTTP”适配器以与旧版应用程序接口,这样我就无需触摸旧版代码。
符合WSGI的解决方案将是首选。当然,任何提示都是非常欢迎的,非常感谢!
-
该软件使用UDP实时(近)实时(连续5到10毫秒更新一次)向给定的一组变量发送顺序更新。因此,我不需要捕获所有UDP数据-检索最新更新就足够了
您必须要做的就是这个。
第1步。
构建一个Python应用程序,该应用程序收集UDP数据并将其缓存到文件中。使用XML,CSV或JSON表示法创建文件。
它作为某种守护程序独立运行。这是您的听众或收藏家。
将文件写入目录,Apache或其他Web服务器可以从该目录中轻松下载该文件。明智地选择名称和目录路径,即可完成。
做完了
如果您想要更好的结果,则可以做更多的事情。您已经完成了,所以不需要。
第2步。
构建一个Web应用程序,允许某人请求UDP侦听器或收集器正在累积的数据。
为此使用Django之类的网络框架。尽可能少写。Django可以提供您的监听器创建的平面文件。
你完成了。再次。
有些人认为关系数据库很重要。如果是这样,您可以执行此操作。即使您已经完成。
第三步
修改您的数据集合以创建Django ORM可以查询的数据库。这需要一些学习和调整才能获得一个整齐,简单的ORM模型。
然后编写最终的Django应用程序,以提供由侦听器收集并加载到Django数据库中的UDP数据。