初めてのクライアント サーバー アプリケーションを作成しようとしたときに、エラーが発生しました。このコードはドキュメントとまったく同じですが、問題があります。
サーバ:
import socket
HOST = 'localhost'
PORT = 9090
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while True:
data = conn.recv(1024)
if not data: break
print data
conn.close()
クライアント:
import socket
HOST = 'localhost'
PORT = 9090
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('Hello, world')
s.close()
実行後、メッセージが表示されず、サーバー部分に表示されませprint Connected by, addr
んprint data
。
Windows 7、Komodo Firewall (ファイアウォールを閉じようとしましたが、問題は解決しませんでした)、Avast Antivirus、Python 2.7 を使用しています。
非常に興味深いことに、エラーはありませんが、出力は機能しません。
また、サーバー アプリケーションは、クライアントがサーバーに接続するまでフリーズします。これは、スレッドを使用するだけで解決できますか?
前もって感謝します。