我调用socket.recvfrom_into
来获取收到的UDP数据包的大小。第一个参数是buffer
类型所必需的。
data = bytearray(2000)
packet_buf = buffer(data)
nbytes, sender = sd.recvfrom_into(packet_buf, 1500) # sd is a socket.
我收到错误“TypeError:buffer is read-only”。
我搜索了一段时间,找不到python buffer
的很多材料。我该如何解决这个问题?还有另一种方法来查询收到的UDP数据包的长度吗?
答案 0 :(得分:2)
使用bytearray
directy。
data = bytearray(2000)
nbytes, sender = sd.recvfrom_into(data, 1500)
获取数据包大小的简便方法是,
msg, sender = sd.recvfrom(1500)
print len(msg)