web-dev-qa-db-ja.com

ソケットエラー「[Errno9]不正なファイル記述子」の理由は何でしょうか。

を介してソケット接続を開こうとしている複雑なpython(2.7.3)スクリプトがあります

self.socket.close()
# doing something else
self.socket.connect((Host, port))

しかし、私が得るのは次のソケットエラーだけです:

error: [Errno 9] Bad file descriptor

Host:portで手動で確認したため、nc Host portは接続を受け入れます。では、実際に機能する特定のポートへの接続を開くときにこのエラーが発生する理由として考えられるものは何でしょうか。

この質問には複雑すぎて無関係なので、完全なスクリプトを投稿することはできませんし、投稿しません。このエラーの考えられるすべての理由と、それらを確認して修正する方法を知りたいだけです。

9
Alex

新しいソケットオブジェクトを作成する必要があります。前のソケットを閉じた後、接続する前にself.socket = socket.socket()かもしれません。

25
Atmaram Shetye