We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0714fb2 commit 7a94b0aCopy full SHA for 7a94b0a
ws4py/websocket.py
@@ -387,12 +387,19 @@ def once(self):
387
logger.debug("WebSocket is already terminated")
388
return False
389
try:
390
- if not self.buf:
391
- b = self.sock.recv(self.reading_buffer_size)
+ wanted = self.reading_buffer_size - len(self.buf)
+
392
+ if wanted > 0:
393
+ b = self.sock.recv(wanted)
394
395
if self._is_secure:
396
b += self._get_from_pending()
- if not b:
397
398
+ if not b: # 0-length read. flush buffer and exit
399
+ if self.buf:
400
+ self.process(self.buf)
401
402
403
self.buf += b
404
except (socket.error, OSError, pyOpenSSLError) as e:
405
if hasattr(e, "errno") and e.errno == errno.EINTR:
0 commit comments