直接从 socketio 服务器获取连接的 sid?
Get sid of the connection directly from the socketio server?
我正在使用 python-socketio
让服务器通过 websockets 与客户端通信(客户端应用程序使用 socketIO js 客户端库)。
根据文档,我们可以按以下方式处理事件:
@sio.event
def my_event(sid, data):
# handle the message
return "OK", 123
如何直接从服务器获取连接的sid
?不必将它作为 arg 作为每个发出事件的 js 客户端的第一个参数传递?
Websockets 是双向通信类型,必须有更好的方法,nodejs 的 socket.io
服务器库确实提供了这样的东西,如果我通过客户端或服务器端的 socket.id
属性没有错的话.
PS:我没有使用Flask-socketio
包,所以我无法通过request.sid
检索到它。
PS2:套接字服务器将与 FastAPI
应用一起托管在 uvicorn
上。
sid
在每次调用事件处理程序时作为第一个参数传递。示例:
@sio.event
def my_event(sid, data):
pass
@sio.on('my custom event')
def another_event(sid, data):
pass
文档:https://python-socketio.readthedocs.io/en/latest/server.html#defining-event-handlers。
我正在使用 python-socketio
让服务器通过 websockets 与客户端通信(客户端应用程序使用 socketIO js 客户端库)。
根据文档,我们可以按以下方式处理事件:
@sio.event
def my_event(sid, data):
# handle the message
return "OK", 123
如何直接从服务器获取连接的sid
?不必将它作为 arg 作为每个发出事件的 js 客户端的第一个参数传递?
Websockets 是双向通信类型,必须有更好的方法,nodejs 的 socket.io
服务器库确实提供了这样的东西,如果我通过客户端或服务器端的 socket.id
属性没有错的话.
PS:我没有使用Flask-socketio
包,所以我无法通过request.sid
检索到它。
PS2:套接字服务器将与 FastAPI
应用一起托管在 uvicorn
上。
sid
在每次调用事件处理程序时作为第一个参数传递。示例:
@sio.event
def my_event(sid, data):
pass
@sio.on('my custom event')
def another_event(sid, data):
pass
文档:https://python-socketio.readthedocs.io/en/latest/server.html#defining-event-handlers。