ConnectionRefusedError
class
socketio.exceptions.ConnectionRefusedError(*args)
连接被拒绝异常。
当连接未被接受时,此异常可在连接处理程序中抛出。异常附带的位置参数会随错误数据包返回给客户端。
WSGIApp
class
socketio.WSGIApp(socketio_app, wsgi_app=None, static_files=None, socketio_path='socket.io')
用于 Socket.IO 的 WSGI 中间件。
此中间件将流量分发到 Socket.IO 应用程序。它还能向客户端提供静态文件列表,或者将无关的 HTTP 流量转发到另一个 WSGI 应用程序。
参数
socketio_app
:Socket.IO 服务器,必须是socketio.Server
类的实例。wsgi_app
:接收所有其他流量的 WSGI 应用程序。static_files
:包含静态文件映射规则的字典。具体参数说明请参阅文档。socketio_path
:Socket.IO 应用程序应安装的端点。大多数情况下,默认值是合适的。
示例用法
import socketio
import eventlet
from . import wsgi_app
sio = socketio.Server()
app = socketio.WSGIApp(sio, wsgi_app)
eventlet.wsgi.server(eventlet.listen(('', 8000)), app)
ASGIApp
class
socketio.ASGIApp(socketio_server, other_asgi_app=None, static_files=None, socketio_path='socket.io', on_startup=None, on_shutdown=None)
用于 Socket.IO 的 ASGI 应用程序中间件。
此中间件将流量分发到 Socket.IO 应用程序。它还可以向客户端提供静态文件列表,或者将无关的 HTTP 流量转发到另一个 ASGI 应用程序。
参数
socketio_server
:Socket.IO 服务器,必须是socketio.AsyncServer
类的实例。static_files
:包含静态文件映射规则的字典。具体参数说明请参阅文档。other_asgi_app
:接收所有其他流量的独立 ASGI 应用程序。socketio_path
:Socket.IO 应用程序应安装的端点。大多数情况下,默认值是合适的。若设置为None
,所有传入流量都将定向到 Socket.IO 服务器,前提是必要的路由由其他层处理。当此选项设置为None
时,static_files
和other_asgi_app
将被忽略。on_startup
:应用程序启动时要调用的函数,可以是协程。on_shutdown
:应用程序关闭时要调用的函数,可以是协程。
示例用法
import socketio
import uvicorn
sio = socketio.AsyncServer()
app = socketio.ASGIApp(sio, static_files={
'/': 'index.html',
'/static': './public',
})
uvicorn.run(app, host='127.0.0.1', port=5000)
Middleware
class
socketio.Middleware(socketio_app, wsgi_app=None, socketio_path='socket.io')
此类已重命名为 WSGIApp
,现已弃用。
ClientNamespace
class
socketio.ClientNamespace(namespace=None)
基于类的客户端命名空间的基类。
基于类的命名空间是一个包含 Socket.IO 命名空间所有事件处理程序的类。事件处理程序是类中以 on_
为前缀的方法,例如 on_connect
、on_disconnect
、on_message
、on_json
等等。
参数
namespa