也可以通过运行多个脚本和一些作为.pyw为了方便,让他们通过UDP套接字交换信息。注意127.0.0.1将在任何情况下发送给您自己。另外,对于端口,只要确保没有其他程序使用您使用的端口。与其他程序一样,我的意思是任何使用端口或甚至基本路由器设置的程序。
样品(发送)
import os
from sockets import *
host = "ip"
port = "9000"
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
data = "Random Text"
send = data.encode("ascii")
UDPSock.sendto(send, addr)
UDPSock.close()
样品(接收)
import os
from socket import *
host = ""
port = 9000
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
UDPSock.bind(addr)
(data, addr) = UDPSock.recvfrom(1024)#1024 is MAX bytes to receive
data = data.decode('ascii')
UDPSock.close()
您可以使用这些单独运行循环,并告诉如何从两个单独的程序做的。
您可以使用按时间排序的操作的优先级队列在一个循环中执行所有操作。在循环中,弹出一个项目,等到它的时间到期,执行它的操作,然后在3秒或25秒后安排一个新的项目。 –
你如何检查这些循环中的时间间隔?那些读取和发送阻止循环?最简单的选择是尝试每12个读取传感器数据一次发送一个“发送信号”。 –
研究Python的'线程' - 当然可以同时运行多个循环。 – jayelm