Ich brauche 16-Bit-Ganzzahlen aus einem TCP-Paket. Wie bekomme ich es zur Arbeit? Ich habe Schwierigkeiten, meinen Datentyp richtig zu bekommen.Neu in Python Bytes in Python 2.4.3
HOST = 'localhost'
PORT = 502
#s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((HOST,PORT))
s.listen(1)
conn, addr = s.accept()
data = []
data = conn.recv(1024)
print 'Connect by', addr
while (data):
sys.stdout.write(hexdump(data))
sys.stdout.write(struct.unpack("h", data[2:4])) # here is error!!!!
data = conn.recv(1024)
I get this error when running:
Connect by ('127.0.0.1', 52741)
0000 00 27 00 00 00 06 01 03 00 00 00 0a .'..........
KeyError: 4784
Press any key to continue . . .
Wie kann ich meine Variablenarten verbessern, so kann ich Ganzzahlen 16 und 32 Bit aus TCP-Paket ziehen
folgt Wie funktioniert es nicht? Bitte zeigen Sie den gesamten Traceback an. Es gibt nichts Offensichtliches in dem gezeigten Code, der 'KeyError: 4784' erzeugen würde. – martineau