Skip to content

Commit 04f2da5

Browse files
committed
Works with >126bits messages on Chrome
1 parent 26374cb commit 04f2da5

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

websocket.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ def send_text(self, message):
182182
| Payload Data continued ... |
183183
+---------------------------------------------------------------+
184184
'''
185+
185186
# 0 = '0x00' = 0b00000000
186187
# 125 = '0x7d' = 0b01111101
187188
# 126 = '0x7e' = 0b01111110
@@ -195,11 +196,13 @@ def send_text(self, message):
195196
self.request.send(b'\x81')
196197
self.request.send(chr(length).encode())
197198
self.request.send(message.encode())
199+
print("sending single frame")
198200

199201
# fits in one frame but needs extended payload length
200202
elif length >= 126 and length <= 65535:
201-
self.request.send(b'\x81\x7f') # extended payload
202-
self.request.send(struct.pack(">Q", length))
203+
print("sending extended")
204+
self.request.send(b'\x81\x7e')
205+
self.request.send(struct.pack(">H", length)) # MUST be 16bits
203206
self.request.send(message.encode())
204207

205208
# needs chunking
@@ -208,13 +211,13 @@ def send_text(self, message):
208211
for pos in range(0, length, chunk_size):
209212
chunk = message[pos:pos+chunk_size]
210213
if pos == 0:
211-
#print("sending first frame")
214+
print("sending first frame")
212215
self.request.send(b'\x01')
213216
elif length - pos != length % chunk_size:
214-
#print("sending middle frame")
217+
print("sending middle frame")
215218
self.request.send(b'\x00')
216219
else:
217-
#print("sending last frame")
220+
print("sending last frame")
218221
self.request.send(b'\x80')
219222
if length <= 125:
220223
self.request.send(chr(len(chunk)).encode())

0 commit comments

Comments
 (0)