我正在使用一个小项目,该项目基本上是一个RPi2将数据分发到四个RPi1。这是通过套接字完成的,连接到RPi2的每个客户端都有自己的进程。还有一个进程捕获图像,一个进程等待新客户端(在RPi2上)。 捕获过程将四个(最多)向量发送到“客户端进程”,然后通过套接字发送到(ecery)RPi1:s。
我的问题是:当我运行多个客户端时,似乎存在某种通信故障,IPC或套接字中的以太。因为应该发送到RPi1_A的数据最终在RPi1_B上。
它可以与不在父子关系中的进程之间的队列有关吗?
代码中的一些片段:
# Create a list of queues
Main_Queue = [Queue(IPC_QUEUE_SIZE)]*MAX_NUMBER_OF_CONNECTIONS
#Creation of Camera process:
Camera_process = Process(target=Camera_capture, args=(Main_Queue,Client_Update_Queue, ))
#Wait for client snippet:
conn, addr = s.accept()
p.append((Process(target=clientthread, args=(conn , Main_Queue[nr_of_clients] ,Client_Update_Queue, sock_lock, )),addr[0],addr[1]))
p[len(p)-1][0].start()
nr_of_clients = nr_of_clients + 1