我有一个运行在IOT设备上的python应用程序,该设备通过蓝牙(pybluez)连接接收数据。我正在用安卓手机测试物联网设备。大多数协议都是小的聊天包,但是,有一个操作需要一次发送大量数据,在我当前的测试中大约是58K
它有时可以工作,但更常见的情况是,它挂起等待从未出现的额外数据。我怀疑这意味着我要么溢出了一些有限大小的缓冲区并丢弃了数据,要么传输不可靠,某些数据正在被丢弃
我用来读取数据的代码如下所示:
# Read the boundary off the socket
borderDataSize = borderPoints * 16
while len(data) < borderDataSize:
newdata = client_sock.recv(4096)
data += newdata
# ... logic to process the data ...
有人经历过吗?我想我从来没有见过这种情况,我的小型聊天通信在一个循环中运行,这是否意味着这可能是某种缓冲区溢出?是否有处理此问题的最佳做法
目前没有回答
相关问题 更多 >
编程相关推荐