iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

pythonでWebsocketサーバを作る

websocketというとnode.jsが最初に思い浮かんだのですが、rubyとかpythonとかでも実装できそうなので、今回はpythonを使ってみました。

いろいろ調べてみた結果、flask + gevent-websocke の構成を採用しました。

ここで使ったソースはGitHubに公開しました。

https://github.com/y16ra/ws_python

GitHubのソースを使ってもらえればインストールは、

pip install -r requirements.txt

これでできちゃいます。

お手元の環境でしたら、

pip install gevent-websocket flask

これらをインストールしてもらって、以下のようにするだけでwebsocketのセッションがとれるので

ws = request.environ['wsgi.websocket']

メッセージ送信とかすぐできちゃいます。

ws.send(message)

HTML+javascriptでwebsocket通信を試せるソースもGitHubに置いてあるので試してみてもらえればと。

ちょっとこのサーバ使ってiPhoneアプリからつないでみようと思っています。

そちらはまた別途公開していきたいと思います。