単純なソケット通信スクリプトを実行しようとしていますが、コマンド プロンプトを使用してスクリプトを実行しようとすると問題が発生します。Python 2.7.5 AMD 64 で Windows 7 64 ビットを使用しています。
スクリプトは、IDLE で実行すると正常に動作しますが、コマンド プロンプトを使用すると、そこに座って親指をいじるだけです。
問題のトラブルシューティングを試みるために使用しているコードは次のとおりです。
from socket import *
print "Hello World"
tcp_ip = '192.168.1.241'
tcp_port = 2001
buffer_size = 11
plc_socket = socket(AF_INET, SOCK_STREAM)
plc_socket.bind((tcp_ip, tcp_port))
plc_socket.listen(1)
socket_conn, socket_addr = plc_socket.accept()
print "Connection Accepted"
socket_conn.shutdown(1)
plc_socket.close()
コマンド ラインを使用してコードを実行すると、"Hello World" が表示され、SOCKET_CONN、SOCKET_ADDR 行の前にすべての処理が実行され、そのまま待機します。
私はすでに次のことを行っています:
- Python インストール ディレクトリを指すように Windows パス情報を設定します。
- 私のマシンにあった他のバージョンの Python をアンインストールしました。
- 他のマシン(同一ビルド)でスクリプトを試して、動作するかどうかを確認しました。(します)
- コマンドラインから正しいバージョンの Python を実行していることを確認しました。
- 混乱して頭を掻いた。
この問題に関する知恵は大歓迎です。