-
-
Notifications
You must be signed in to change notification settings - Fork 159
Closed
Labels
Description
I am sending a file using fixed size chunks (binary data, with size=1024 in example) using socket.io from a client to a flask_socketio server emit:
sio.emit("chunk", data=content, namespace="audio")
The audio source is just a wave file, the snippet of the generator is:
chunk_size = 1024
delay = 0.0
while data != b'':
yield data
data = wave_file.readframes(chunk_size)
time.sleep(delay)
break
Until now, the data arrived without problem. After update python-engineio to v3.10.0, if delay = 0.0, sometime server print the following error:
2019-10-24T07:47:42.708635Z [error ] post request handler error event_id=146cb3c88 host=vgonisanz-linux source=engineio.server user=vgonisanz version=dl:0.1.0
Traceback (most recent call last):
File "/home/vgonisanz/miniconda3/envs/foo3.6/lib/python3.6/site-packages/engineio/server.py", line 394, in handle_request
socket.handle_post_request(environ)
File "/home/vgonisanz/miniconda3/envs/foo3.6/lib/python3.6/site-packages/engineio/socket.py", line 123, in handle_post_request
p = payload.Payload(encoded_payload=body)
File "/home/vgonisanz/miniconda3/envs/foo3.6/lib/python3.6/site-packages/engineio/payload.py", line 15, in __init__
self.decode(encoded_payload)
File "/home/vgonisanz/miniconda3/envs/foo3.6/lib/python3.6/site-packages/engineio/payload.py", line 61, in decode
raise ValueError('Too many packets in payload')
ValueError: Too many packets in payload
This error didn't appear before updating. Also, If I set up delay as 0.01, it don't appear. It seems the change comes from commit c8407ae, and the issue is related with the time between requests.
- Why is this happening now?
- It is possible to continue use delay = 0 (for testing purpose I want to run my tests faster as I can)?
Thanks.