1

http://docs.python.org/2/howto/sockets.htmlから

ソケットの send または recv が 0 バイトを処理した後に戻った場合、接続は切断されています。

一方、TCP 接続のリモート エンドがクローズ (または強制終了) され、続いて socket.send() が呼び出されると、次の socket.error 例外が表示されます。

socket.error: [Errno 104] ピアによって接続がリセットされました

ここで私の質問は、「接続が切断されました」と「ピアによる接続のリセット」の違いは何ですか。そして、「接続が切断されました」== socket.send() がゼロを返します。私にとって、1 文字も送信できないことは、socket.error 例外と同じくらい悪いことです。socket.send がゼロを返す原因となるイベントが何であれ、アプリケーションが 2 つの異なること (例外と戻り値ゼロ) を処理する必要がないように、理想的には socket.error 例外を発生させる必要があります。

4

1 に答える 1