1

我正在使用这个Python socket.io 客户端库。这是用于实例化和连接到套接字 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')

记录器消息“已创建 socketio 客户端”已打印出来,但未显示“已连接到服务器”消息。但是,在手动关闭服务器连接期间,“断开”回调被激活......这里出了什么问题?我在这里使用 nginx 代理,仅供参考。

4

1 回答 1

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

于 2019-10-22T10:56:08.633 回答