如何在Python中通过HTTP通过UDP流提供数据?

发布于 2021-01-29 16:15:56

我目前正在通过网络公开来自旧系统的数据。我有一个(旧版)服务器应用程序,可以通过UDP发送和接收数据。
该软件使用UDP实时(近)实时(连续5到10毫秒更新一次)向给定的一组变量发送顺序更新。 因此,我不需要捕获所有UDP数据-检索最新的更新就足够了。

为了通过Web公开此数据,我正在考虑构建一个轻量级的Web服务器,该服务器读取/写入UDP数据并通过HTTP公开此数据。

我对Python有经验,因此我正在考虑使用它。

问题如下: 我如何(连续)从UDP读取数据并使用Python按需通过TCP / HTTP发送数据快照? 因此,基本上,我正在尝试构建一种“
UDP2HTTP”适配器以与旧版应用程序接口,这样我就无需触摸旧版代码。

符合WSGI的解决方案将是首选。当然,任何提示都是非常欢迎的,非常感谢!

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    该软件使用UDP实时(近)实时(连续5到10毫秒更新一次)向给定的一组变量发送顺序更新。因此,我不需要捕获所有UDP数据-检索最新更新就足够了

    您必须要做的就是这个。

    第1步。

    构建一个Python应用程序,该应用程序收集UDP数据并将其缓存到文件中。使用XML,CSV或JSON表示法创建文件。

    它作为某种守护程序独立运行。这是您的听众或收藏家。

    将文件写入目录,Apache或其他Web服务器可以从该目录中轻松下载该文件。明智地选择名称和目录路径,即可完成。

    做完了

    如果您想要更好的结果,则可以做更多的事情。您已经完成了,所以不需要。

    第2步。

    构建一个Web应用程序,允许某人请求UDP侦听器或收集器正在累积的数据。

    为此使用Django之类的网络框架。尽可能少写。Django可以提供您的监听器创建的平面文件。

    你完成了。再次。

    有些人认为关系数据库很重要。如果是这样,您可以执行此操作。即使您已经完成。

    第三步

    修改您的数据集合以创建Django ORM可以查询的数据库。这需要一些学习和调整才能获得一个整齐,简单的ORM模型。

    然后编写最终的Django应用程序,以提供由侦听器收集并加载到Django数据库中的UDP数据。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看