Pythonのwebsocketsというライブラリを使ってWebSocketサーバを作りました。
python server.py
というコマンドを入力するとローカルホストでサーバが起動します。
下記は私のコードではありませんが公式の例です:
Python
1#!/usr/bin/env python 2# WS server example 3 4import asyncio 5import websockets 6 7async def hello(websocket, path): 8 name = await websocket.recv() 9 print(f"< {name}") 10 11 greeting = f"Hello {name}!" 12 13 await websocket.send(greeting) 14 print(f"> {greeting}") 15 16start_server = websockets.serve(hello, 'localhost', 8765) 17 18asyncio.get_event_loop().run_until_complete(start_server) 19asyncio.get_event_loop().run_forever() 20
目標はこれをネットにつなげることです。
次のことはやりました:
- Azure上の仮想マシン(OSはUbuntu)を用意した
- 仮想マシン上でpython server.pyとやると仮想マシン上のローカルホストでサーバが起動するようになった
- 仮想マシンのIPアドレスを固定した
- 独自ドメインのAレコードを仮想マシンのIPアドレスに設定した
ここから先がわかりません。
start_server = websockets.serve(hello, 'localhost', 8765)
の 'localhost'を私のドメインやIPアドレスに変えると、次のようなエラーになります:
OSError: [Errno 99] error while attempting to bind on address ('xx.xxx.xx.xxx', 8765): cannot assign requested address
分かる方いませんか?
WebSocketサーバじゃなくてもクラウドサーバ上にpythonサーバをデプロイしたことがある人は何かわかると思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。