我以每秒约20帧的速度从传感器接收数据。与接收数据“并行”如果满足特定条件,我应该执行一个事件。必须以最小的延迟时间完成。
我发现可以使用asyncore
,但我不了解该文档……我只是希望使用非阻塞套接字方法来执行此操作,因为与多方法相比,它更易于使用穿线。这是我的代码,因此您可以更好地了解我在说什么:
import socket
import json
SENSOR_ID='B35'
s = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
s.bind("\0xXx.data")
print ("Connected...")
while True:
data = s.recv(1024)
j=json.loads(data [0:(len(data)-1)]) #trunking the last character of data
if SENSOR_ID in j: #filter on the SENSOR_ID
sensorData = j[SENSOR_ID] #creating a new dict called sensorData
if sensorData[u'xx']>1:
#DO SOMETHING
s.close()
有人可以给我指出asyncore
的简单教程吗?或向我解释如何修改代码?