Ich muss ein eingelegtes Python-Wörterbuch mit mehreren großen Pandas-Datenrahmen über einen Websocket senden (Python-API an beiden Enden). Um die Leistung zu verbessern, möchte ich das gebeizte Objekt komprimieren, bevor es über den Websocket gesendet wird. Wenn Sie dies tun, ist die empfangene Nachricht jedoch immer "Keine".Senden von Binärdaten über gevent websocket
Auftraggeber:
df = pd.DataFrame({'a':[1,2,3,4]})
d = dict(b=df)
msg = zlib.compress(pickle.dumps(d),5)
socket.send(msg)
Server:
msg = socket.receive()
# msg is always None when called with client code above.
data = pickle.loads(zlib.decompress(msg))
Gibt es einen besseren Weg, dies zu tun? Ich verwende gevent-websocket durch das Flask-Sockets Framework.