読者です 読者をやめる 読者になる 読者になる

karashi39とはいったい

夢と希望と明日と正義を讃える

EC2へpythonのsocketを使って通信

IT

全面的に、Pythonによる通信処理 - Qiitaを参考に作ったんですが、
サーバーをEC2上で実行し、家のPCをクライアントにして通信したら、
コネクションがリフューズされて通信できなかった。

こんな感じで。

$ python client.py
Traceback (most recent call last):
  File "client.py", line 6, in <module>
    client.connect((host,port))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 61] Connection refused

原因は、server.pyのhost変数に、localhostを入れていたことで、
0.0.0.0を入れたら通信できるようになりました。
ではなぜそうなるのかという話ですが、
なんとなくはわかるんですが、うまく説明はできないゆるふわ初心者な私なのでした。

知見のある方は、コメント欄ででも解説していただけると嬉しいです。