Клиентские события Python socket.io - PullRequest
0 голосов
/ 21 октября 2019

Я использую эту клиентскую библиотеку 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 здесь.

1 Ответ

0 голосов
/ 22 октября 2019

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

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() в конце гарантирует, что основной поток блокируется, пока клиент не будет отключен.

...