WebSocket / Flask

Flaskを使ったWebSocketについて、とても参考になるサイトを見つけましたので試してみました。

環境) Python 3.9.6 / Mac(arm64)

Flask==3.0.0
Flask-SocketIO==5.3.6

メモ)
Windowsで動かした時、geventモジュールのエラーが出ました。
また、allow_unsafe_werkzeug=True が必要のようです。

参考)
https://wonderhorn.net/programming/flaskwebsocket.html

JavaScriptコードがあるhtmlファイルをstaticフォルダにおきました。

static/index.html

websock.py

WebSocketとHTTPのサーバが同じファイルに記述できることを確認できます。

起動

% python websock.py

今回確認したかった、1秒ごとにpongが順に表示されることですが、複数ブラウザを立ち上げて同時に実行しても問題なく動作しました。
また内容の確認のためにも、socket.io.jsはダウンロードしてローカルに置いてみました。

socket.io.js (長いので先頭の一部分 185009byte)