Python socket.io 客户端事件

Python socket.io client events

我正在使用这个 Python socket.io client library。 这是用于实例化和连接到套接字 io 服务器的 python 代码的一部分:

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')

记录器消息 'Created socketio client' 已打印出来,但未显示 'connected to server' 消息。但是,在手动关闭服务器连接期间,'disconnect' 回调被激活...这里出了什么问题?我这里使用的是 nginx 代理,仅供参考。

好吧,对于初学者来说,您是在定义处理程序之前进行连接。连接后您也没有做任何事情。试试这个版本:

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()调用确保主线程阻塞,直到客户端断开连接。