【问题标题】:Efficient way to store received data if no internet connection available and push it when connection available in Raspberry Pi using Python [closed]如果没有可用的互联网连接,则存储接收到的数据的有效方法,并在使用 Python 在 Raspberry Pi 中可用连接时推送它 [关闭]
【发布时间】:2020-07-17 06:59:23
【问题描述】:

我正在尝试使用需要定期推送数据但有时互联网连接丢失的 Raspberry Pi 制作网关。有没有办法存储接收到的数据并在连接可用时推送它?

【问题讨论】:

    标签: python iot gateway


    【解决方案1】:

    好消息是通过 TCP/IP 连接发送数据不是特定于块的,因此 socket.send ("Foo\n"); socket.send ("栏\n");等同于 socket.send ("Foo\nBar\n");

    因此,您可以通过分配一块(例如 64K)并将数据附加到其中来避免零碎的内存分配。如果它填满了,您可以分配另一个并将两者链接在一起,或者将其刷新并注意您已经删除了数据 - 无论如何您都必须编写代码,因为最终您会用完空间。

    因此,数据到达:将其放在缓冲区的末尾并尝试发送缓冲区的整个填充部分(新数据和任何已经存在的数据)。如果发送成功,清除缓冲区。

    为了保持整洁,当您的 Internet 连接建立后,请在整个连接中刷新缓冲区的内容(如果有)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      相关资源
      最近更新 更多