Sanic官翻-WebSocket
生活随笔
收集整理的這篇文章主要介紹了
Sanic官翻-WebSocket
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
WebSocket
Sanic在websocket之上提供了易于使用的抽象。Sanic支持websocket版本7和8。
設置WebSocket
from sanic import Sanic
from sanic.response import json
from sanic.websocket import WebSocketProtocol
app = Sanic("websocket_example")
@app.websocket('/feed')
async def feed(request, ws):
while True:
data = 'hello!'
print('Sending: ' + data)
await ws.send(data)
data = await ws.recv()
print('Received: ' + data)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, protocol=WebSocketProtocol)
或者,可以使用app.add_websocket_route方法代替裝飾器:
async def feed(request, ws):
pass
app.add_websocket_route(feed, '/feed')
調用WebSocket路由的處理程序時,將請求作為第一個參數,將WebSocket協議對象作為第二個參數。協議對象具有send和recv方法,分別用于發送和接收數據。
您可以通過app.config設置自己的WebSocket配置,例如
app.config.WEBSOCKET_MAX_SIZE = 2 ** 20
app.config.WEBSOCKET_MAX_QUEUE = 32
app.config.WEBSOCKET_READ_LIMIT = 2 ** 16
app.config.WEBSOCKET_WRITE_LIMIT = 2 ** 16
app.config.WEBSOCKET_PING_INTERVAL = 20
app.config.WEBSOCKET_PING_TIMEOUT = 20
如果在ASGI模式下運行,這些設置將沒有影響。
在Configuration部分中找到更多信息。
總結
以上是生活随笔為你收集整理的Sanic官翻-WebSocket的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 草豆蔻酊_功效作用注意事项用药禁忌用法用
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?