一种有效的方式来存储接收到的数据(如果没有可用的互联网连接,并在使用Python的Raspberry Pi中可用时将其推送)

问题描述 投票:-1回答:1

我正在尝试使用Raspberry Pi创建网关,该网关需要定期推送数据,但有时会失去Internet连接。有可用的方法来存储收到的数据并在可用连接时将其推送吗?

python iot gateway
1个回答
0
投票

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

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

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

为了使内容整洁,当您建立Internet连接时,请刷新连接中缓冲区的内容(如果有的话。)>

© www.soinside.com 2019 - 2024. All rights reserved.