0
我需要建立一個網絡來將一個numpy陣列從主機傳輸到客戶端計算機。這可以儘可能簡單,除了我必須使用16位整數。我做對了嗎?我應該使用更好的函數/命令嗎? (Win7,64位,Python 2.7)到目前爲止,它似乎工作,但我是一個網絡總noobot,我還沒有找到一個體面的教程,解釋如何所有這些適合在一起。 (請建議一個)謝謝!Python - 在以太網數據包中發送/接收一個numpy陣列
server.py
import socket, time, numpy as np
myDict = {1:1, 2:2, 3:3}
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while 1:
data = np.array(myDict.values(), dtype = np.int16).flatten()
s.sendto(data, ('<broadcast>',5252))
time.sleep(1)
client.py
import socket, numpy as np
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('', 5252))
data = np.empty((1,6), dtype = np.int16)
s.recv_into(data)
print data
謝謝。數據包的生產接收者本質上是一個愚蠢的網絡監視器,所以我認爲我受限於播放UDP(我剛剛意識到這不是上面的代碼正在做什麼......) – DanGoodrick
我用替換了IP地址,它仍然作品。 < and >做什麼工作?另外,廣播時指定的端口是否重要? –
DanGoodrick