使用串行数据而不丢失数据

2024-04-19 03:13:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pySerial监听串行端口。只有当我得到数据块时,我才能处理数据。简单的事件调度器侦听readet中的事件,然后处理事件数据。处理可能涉及IO、网络和另一种耗时的操作系统操作。但在处理最后一个数据时,谁会从串行数据中读取数据呢?你知道吗

例如

    Port stream >> | 1111111111111111 | 222222 | 2222222 | 33333
                   ---------------------------------------------
Programm thread >> | listen port 1 -> | handle | listen2 | .....

所以在处理时及时到达的端口数据会丢失吗?比如启动2包?你知道吗

如何保证所有来自端口的数据都能被及时处理?你知道吗

  • 硬件:树莓皮3b
  • OS:拉斯比安
  • Python:v2.7版

Tags: 数据端口io网络streamport事件读取数据
1条回答
网友
1楼 · 发布于 2024-04-19 03:13:20

在python中使用循环缓冲区和线程将是一个解决方案。另一种方法是实现一个不同的协议,以便发送方在发送新数据之前等待侦听器确认接收

相关问题 更多 >