pythonasyncioeventletgeventlong-pollinglow-latencysocket-iosocketiosocketio-serverweb-serverwebsocket
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
582 B
32 lines
582 B
from sanic import Sanic
|
|
from sanic.response import html
|
|
|
|
import socketio
|
|
|
|
sio = socketio.AsyncServer(async_mode="sanic")
|
|
app = Sanic(__name__)
|
|
sio.attach(app)
|
|
|
|
|
|
@app.route("/")
|
|
def index(request):
|
|
with open("fiddle.html") as f:
|
|
return html(f.read())
|
|
|
|
|
|
@sio.event
|
|
async def connect(sid, environ, auth):
|
|
print(f"connected auth={auth} sid={sid}")
|
|
await sio.emit("hello", (1, 2, {"hello": "you"}), to=sid)
|
|
|
|
|
|
@sio.event
|
|
def disconnect(sid, reason):
|
|
print("disconnected", sid, reason)
|
|
|
|
|
|
app.static("/static", "./static")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run()
|
|
|