Я использую Flask-SocketIO для передачи сообщений из системы на базе ZeroMQ в браузерные клиенты, говорящие на веб-сокетах.Предполагается, что это тонкая оболочка.
Однако я обнаружил, что, хотя соединение было обновлено (через браузер) до веб-сокета, сообщения, отправляемые через socketio, фактически не доставляются по проводам, кроме случаев, когдабраузер отправляет пинг каждые 25 секунд.
С уменьшением параметра socketio ping_interval
до 1 я фактически возвращаюсь к опросу.На снимке экрана ниже показан 25-секундный интервал и сообщения, поступающие только после опроса с порядковым номером.
class Receiver(threading.Thread):
...
def onMessageReceived(msg):
socketio.emit('msgtype', msg.toJson())
app = flask.Flask(__name__, root_path=root + "/dashboard/")
socketio = SocketIO(app, logger=log, async_mode=async_mode, ping_interval=1.5)
thread = socketio.start_background_task(receiver)
socketio.run(app, host='localhost', port=8000)
Почему flask-socketio / engineio не отправляет сообщения сразу?
![debug inspector](https://i.stack.imgur.com/RPFuV.png)