我正在寫兩個python腳本通過UDP使用python 套接字進行通信。下面是代碼python:調用socket.recvfrom()兩次
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST, PORT))
s.setblocking(True) #I want it to be blocking
#(...)
(msg, addr) = sock.recvfrom(4)
#(...)
(msg2, addr2) = sock.recvfrom(2)
相關的部分我想接收被阻止,我不知道整個消息的大小之前,我讀了前4個字節的一部分。上面的代碼被阻擋在sock.recvrfom(2)
部分,而改性,用一個sock.recvfrom
而不是兩個作品好嗎:
(msg, addr) = sock.recvfrom(6) #works ok, but isn't enough for my needs
任何想法如何,我可以方便地在兩個部分讀取傳入的數據或爲什麼代碼不能正常工作如預期?