Клиентские события Python socket.io

Я использую эту клиентскую библиотеку Python socket.io. Это часть кода Python, который используется для создания экземпляра и подключения к серверу сокета io:

import socketio

sio = socketio.Client()
logger.info('Created socketio client')
sio.connect('https://server.com/socket.io/')

@sio.event
def connect():
    logger.info('connected to server')

@sio.event
def disconnect():
    logger.info('disconnected from server')

Сообщение регистратора «Создан клиент socketio» распечатывается, но не показывает сообщение «подключен к серверу». Однако при закрытии соединения с сервером вручную активируется обратный вызов "разъединение" ... Что здесь пошло не так? Я использую прокси-сервер nginx, к сведению.


person user990639    schedule 21.10.2019    source источник


Ответы (1)


Ну, для начала вы подключаетесь до того, как определены обработчики. Вы также ничего не делаете после подключения. Попробуйте вместо этого эту версию:

import socketio

sio = socketio.Client()
logger.info('Created socketio client')

@sio.event
def connect():
    logger.info('connected to server')

@sio.event
def disconnect():
    logger.info('disconnected from server')

sio.connect('https://server.com/socket.io/')
sio.wait()

Вызов wait() в конце гарантирует, что основной поток блокируется до тех пор, пока клиент не отключится.

person Miguel    schedule 22.10.2019