我试图简单地通过 UDP 发送一个字节列表,代码基于示例 Python 套接字模块。客户端/服务器传输适用于字符串。似乎使用字节数组是要走的路,但是,收到的长度似乎取决于内容。发送 1,2,3,4,5,6 可以正常工作,但如果我将 6 更改为 10 或 11,我只会在服务器上收到 5 个字节。Ubuntu 上的 Python 2.7.3。我不明白什么?
客户:
data = bytearray([1,2,3,4,5,6])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(data, (HOST, PORT))
服务器:
class MyUDPHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
socket = self.request[1]
print len(data)
idata = map(ord, data)
print len(idata)
print idata[0],idata[1],idata[2],idata[3]