nie*_*aki 2 python sockets udp
我正在编写两个python脚本,使用python 套接字通过UDP进行通信.这是代码的相关部分
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)
Run Code Online (Sandbox Code Playgroud)
我希望接收是阻塞的,在读取第一个4字节部分之前我不知道整个消息的大小.以上代码在sock.recvrfom(2)部件上被阻止 ,而修改后,一个sock.recvfrom而不是两个工作正常:
(msg, addr) = sock.recvfrom(6) #works ok, but isn't enough for my needs
Run Code Online (Sandbox Code Playgroud)
知道我如何方便地分两部分读取传入的数据或为什么代码不能按预期工作?