也可以通過運行多個腳本和一些作爲.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