私の根本的な問題は、ネットワークで管理されているウイルス対策アプリにあると確信していますが、Python で作成した基本的なソケット クライアントは、少し前までは機能していましたが、「ソケット エラー 10013」が表示されるようになりました。JAVA のSocketTestアプリもあります。SocketTest は機能しますが、Python を接続することに失敗しました。WIN 7 PC には、ブリッジされていない 2 つのネットワーク カードがあります。ファイアウォールのオンとオフを切り替えました。企業 LAN への接続を無効にすると、Python クライアントは問題なく動作します。繰り返しますが、この構成は数か月間機能しました。私は違いを見つけることができません。サンプルコードは次のとおりです。
パイソン
MY_IP = '192.168.100.2'
MY_PORT = 62828
ROBOT_IP = "192.168.100.10"
ROBOT_SOCK = 29999
robotSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
robotSocket.bind((MY_IP, MY_PORT)) # Tried without binding
robotSocket.connect((ROBOT_IP, ROBOT_SOCK))
結果「ソケットエラー 10013」
ジャワ:
socket = new Socket(ROBOT_IP, ROBOT_SOCK);
is = socket.getInputStream();
in = new BufferedInputStream(is);
while (!desonnected)
{
try
{
String got = readInputStream(in); // in.readLine();
これは問題なく動作しますが、Python コードを調整するための違いが見つかりません。ウイルスバスターであることは確かなのですが……。
編集
提案どおりにWireSharkを実行しました。両方のネットワーク カードが有効になっていると、Python 接続要求は送信されません。企業 LAN を無効にした後、JAVA クライアントと Python クライアントの接続要求を比較したところ、もちろんローカル ポートを除いて同じデータが含まれていました。