サンプルのPythonソケットモジュールに基づくコードを使用して、UDPを介してバイトのリストを送信しようとしています。クライアント/サーバー送信は文字列で正常に機能します。バイトアレイを使用するのが道のりのようでしたが、受信する長さはコンテンツによって異なるようです。1,2,3,4,5,6の送信は正常に機能しますが、6を10または11に変更すると、サーバーで5バイトしか受信しません。Ubuntu上のPython2.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]