From b0be60efaa572d174e885b88da0a268da7f0ddb1 Mon Sep 17 00:00:00 2001 From: Abhilash KM Date: Tue, 24 Apr 2018 12:16:00 +0530 Subject: [PATCH 1/3] Failed to connect with server socket.io version 2.x #fixed --- socketIO_client/parsers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/socketIO_client/parsers.py b/socketIO_client/parsers.py index 7e043a4..e9706db 100644 --- a/socketIO_client/parsers.py +++ b/socketIO_client/parsers.py @@ -126,7 +126,7 @@ def _read_packet_length(content, content_index): content_index += 1 packet_length_string = '' byte = get_byte(content, content_index) - while byte != 255: + while byte != 255 and byte != ':': packet_length_string += str(byte) content_index += 1 byte = get_byte(content, content_index) @@ -134,7 +134,10 @@ def _read_packet_length(content, content_index): def _read_packet_text(content, content_index, packet_length): - while get_byte(content, content_index) == 255: + byte = get_byte(content, content_index) + while byte == 255 or byte == ':': content_index += 1 + byte = get_byte(content, content_index) packet_text = content[content_index:content_index + packet_length] return content_index + packet_length, packet_text + From 52cd90e7b31384268ff4c1e8624d24261adade39 Mon Sep 17 00:00:00 2001 From: Abhilash KM Date: Tue, 24 Apr 2018 13:00:53 +0530 Subject: [PATCH 2/3] version upgraded in setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ed1811e..fed5932 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ ]) setup( name='socketIO-client', - version='0.7.2', + version='0.7.3', description='A socket.io client library', long_description=DESCRIPTION, license='MIT', From 0f6211764ef3a378b0114ab79190621d3e24100c Mon Sep 17 00:00:00 2001 From: Abhilash KM Date: Tue, 24 Apr 2018 14:36:15 +0530 Subject: [PATCH 3/3] Fixes for server socket 2.x and 1.x --- socketIO_client/parsers.py | 42 +++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/socketIO_client/parsers.py b/socketIO_client/parsers.py index e9706db..c9f7798 100644 --- a/socketIO_client/parsers.py +++ b/socketIO_client/parsers.py @@ -121,23 +121,37 @@ def _make_packet_prefix(packet): def _read_packet_length(content, content_index): - while get_byte(content, content_index) != 0: - content_index += 1 - content_index += 1 - packet_length_string = '' - byte = get_byte(content, content_index) - while byte != 255 and byte != ':': - packet_length_string += str(byte) + try: + content = content.decode() + start = content_index + while content[content_index] != ':': + content_index += 1 + packet_length_string = content[start:content_index] + return content_index, int(packet_length_string) + except: + while get_byte(content, content_index) != 0: + content_index += 1 content_index += 1 + packet_length_string = '' byte = get_byte(content, content_index) - return content_index, int(packet_length_string) + while byte != 255 and byte != ':': + packet_length_string += str(byte) + content_index += 1 + byte = get_byte(content, content_index) + return content_index, int(packet_length_string) def _read_packet_text(content, content_index, packet_length): - byte = get_byte(content, content_index) - while byte == 255 or byte == ':': - content_index += 1 + try: + content = content.decode() + while content[content_index] == ':': + content_index += 1 + packet_text = content[content_index:content_index + packet_length] + return content_index + packet_length, packet_text.encode() + except: byte = get_byte(content, content_index) - packet_text = content[content_index:content_index + packet_length] - return content_index + packet_length, packet_text - + while byte == 255 or byte == ':': + content_index += 1 + byte = get_byte(content, content_index) + packet_text = content[content_index:content_index + packet_length] + return content_index + packet_length, packet_text