我對Python很陌生,試圖編寫一個代碼來接收來自UDP連接的字符串,現在的問題是我需要從2個源接收數據,我如果沒有來自其中一方或兩方的數據,程序將繼續循環,但現在如果沒有來自源2的數據,它將停在那裏等待數據,如何解決它? 我正在考慮使用if語句,但我不知道如何檢查傳入數據是否爲空,任何想法將不勝感激!Python使用Socket的UDP通信,檢查收到的數據
import socket
UDP_IP1 = socket.gethostname()
UDP_PORT1 = 48901
UDP_IP2 = socket.gethostname()
UDP_PORT2 = 48902
sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock1.bind((UDP_IP1, UDP_PORT1))
sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock2.bind((UDP_IP2, UDP_PORT2))
while True:
if sock1.recv != None:
data1, addr = sock1.recvfrom(1024)
data1_int = int(data1)
print "SensorTag[1] RSSI:", data1_int
if sock2.recv != None:
data2, addr = sock2.recvfrom(1024)
data2_int = int(data2)
print "SensorTag[2] RSSI:", data2_int
您可以從多個來源收到http://stackoverflow.com/questions/15101333/is-there-a-way-to-listen-to-multiple-python-sockets-at-once – Kafo
謝謝!我應該研究更多,因爲有人已經問過同樣的問題 – tedhan
不客氣。 – Kafo