Я получаю следующее сообщение через TCP:
{"message": "Start", "client": "134.106.74.21", "type": 1009}<EOM>
, но когда я пытаюсь разделить это
msg.partition( "<EOM>" )
, я получаю следующий массив:
('{\ x00 \ x00 \ x00 "\ x00 \ x00 \ x00m \ x00 \ x00 \ x00e \ x00 \ x00 \ x00s \ x00 \ x00 \ x00s \ x00 \ x00 \ x00a \ x00 \ x00 \ x00g\ x00 \ x00 \ x00e \ x00 \ x00 \ x00 "\ x00 \ x00 \ x00: \ x00 \ x00 \ x00 \ x00 \ x00 \ x00" \ x00 \ x00 \ x00 # \ x00 \ x00 \ x00B \ x00 \ x00\ x00E \ x00 \ x00 \ x00G \ x00 \ x00 \ x00I \ x00 \ x00 \ x00N \ x00 \ x00 \ x00; \ x00 \ x00 \ x00A \ x00 \ x00 \ x00l \ x00 \ x00 \ x00l \ x00 \ x00 \x00; \ x00 \ x00 \ x000 \ x00 \ x00 \ x00; \ x00 \ x00 \ x001 \ x00 \ x00 \ x00; \ x00 \ x00 \ x000 \ x00 \ x00 \ x00; \ x00 \ x00 \ x001 \ x00 \x00 \ x003 \ x00 \ x00 \ x004 \ x00 \ x00 \ x00. \ x00 \ x00 \ x001 \ x00 \ x00 \ x00 \ x00 \ x00 \ x006 \ x00 \ x00 \ x00. \ x00 \ x00 \ x007 \ x00 \x00 \ x004 \ x00 \ x00 \ x00. \ x00 \ x00 \ x001 \ x00 \ x00 \ x002 \ x00 \ x00 \ x005 \ x00 \ x00 \ x00: \ x00 \ x00 \ x003 \ x00 \ x00 \ x000 \ x00 \x00 \ x000 \ x00 \ x00 \ x000 \ x00 \ x00 \ x000 \ x00 \ x00 \ x00; \ x00 \ x00 \ x00 # \ x00 \ x00 \ x00E \ x00 \ x00 \ x00N \ x00 \ x00 \ x00D \ x00 \x00 \ x00 "\ x00 \ x00 \ x00, \ x00 \ x00 \ x00 \ x00 \ x00 \ x00" \ x00 \ x00 \ x00c \ x00 \ x00 \ x00l \ x00 \ x00 \ x00i \ x00 \ x00 \ x00e \ x00\Икс00 \ x00n \ x00 \ x00 \ x00t \ x00 \ x00 \ x00 "\ x00 \ x00 \ x00: \ x00 \ x00 \ x00 \ x00 \ x00 \ x00" \ x00 \ x00 \ x001 \ x00 \ x00 \ x003 \ x00\ x00 \ x004 \ x00 \ x00 \ x00. \ x00 \ x00 \ x001 \ x00 \ x00 \ x000 \ x00 \ x00 \ x006 \ x00 \ x00 \ x00. \ x00 \ x00 \ x007 \ x00 \ x00 \ x004 \ x00\ x00 \ x00. \ x00 \ x00 \ x001 \ x00 \ x00 \ x002 \ x00 \ x00 \ x005 \ x00 \ x00 \ x00 "\ x00 \ x00 \ x00, \ x00 \ x00 \ x00 \ x00 \ x00 \ x00"\ x00 \ x00 \ x00t \ x00 \ x00 \ x00y \ x00 \ x00 \ x00p \ x00 \ x00 \ x00e \ x00 \ x00 \ x00 "\ x00 \ x00 \ x00: \ x00 \ x00 \ x00 \ x00 \ x00 \ x002\ x00 \ x00 \ x000 \ x00 \ x00 \ x000 \ x00 \ x00 \ x005 \ x00 \ x00 \ x00} \ x00 \ x00 \ x00 <\ x00 \ x00 \ x00E \ x00 \ x00 \ x00O \ x00 \ x00 \ x00M\ x00 \ x00 \ x00> \ x00 \ x00 \ x00 {"message": "Start", "client": "134.106.74.21", "type": 1009} ',' ',' ')
Обновлено
try:
#Check if there are messages, if don't than throwing an exception otherwise continue
ans = self.request.recv( 20480 )
if( ans ):
recv = self.getMessage( recv + ans )
else:
#Master client disconnected
break
except:
...
def getMessage( self, msg ):
print( "masg:" + msg );
aSplit = msg.partition( "<EOM>" )
while( aSplit[ 1 ] == "<EOM>" ):
self.recvMessageHandler( json.loads( aSplit[ 0 ] ) )
#Get the new message id any
msg = aSplit[ 3 ]
aSplit = msg.partition( "<EOM>" )
return msg;
Проблема возникла при попытке добавить две строки.
recv + ans