首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  2019

Python 在 servier 端如何有效的管理端口侦听,并做响应?

  •  1
     
  •   sayhier · 306 天前 · 628 次点击
    这是一个创建于 306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己学习 Python 和 IoT,我没用 MQTT,在设备端用了一个 GPRS DTU,在 DTU 设置好服务器 IP 和端口号,然后许多设备向 Server 定期发数据,不同设备通过 ID 区分。在 Server 端侦听这个端口,每接收到一个 TCP 连接开一个进程,接收数据并存入数据库,完毕后关闭这个进程。

    我想知道 Python 有没有类似功能的库。因为还有好多问题我没考虑到,比如连接建立但是很长时间没发数怎么办?另外,我觉得这是一个比较老的应用场景了,Python 应该有一套解决办法。我是业余自学的,求各位大佬指教。

    补充一下,我没用 MQTT 是因为我底层设备联网用的是一个 GPRS 透传设备,实现起来比较麻烦。

    3 回复  |  直到 2019-02-13 08:37:43 +08:00
        2
    delectate   305 天前 via Android
    py 有 mqtt 库,建议使用;通常使用 imei 而不是 id 去区分设备;如果设备过多,开那么多进程,会出问题,你这个思路不对啊;保持长连接需要发心跳包。
        3
    sayhier   305 天前
    楼上说的对,如果用透传网关的话,实际上就是保持长连接了。即使没有数据发送,连接也不会断开,这样这个进程就一直结束不掉。我原来用 AT 指令里的 CIPSEND,发送完之后就结束了,这样进程才能结束。

    MQTT 是必须的选择吗?在 IoT 设备的单片机里实现看起来有点复杂啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1772 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 16:15 · PVG 00:15 · LAX 08:15 · JFK 11:15
    ♥ Do have faith in what you're doing.