我有一个复杂的Python (2.7.3) 脚本,它试图通过 Socket 连接打开连接。
self.socket.close()
# doing something else
self.socket.connect((host, port))
但是我得到的只是以下套接字错误:
error: [Errno 9] Bad file descriptor
我已经手动使用nc host port
验证过,host:port
接受连接。那么为什么我在打开到给定端口的连接时会出现错误,而实际上它是有效的呢?
我不能也不会发布完整的脚本,因为它对这个问题来说太复杂和无关紧要了。我只想知道所有可能导致此错误的原因,以及如何检查和修复它们。
socket.close()
的文档。一旦你关闭它,你不能在任何操作中(包括connect
)重用它。需要使用socket.socket
进行重新初始化。 - Thomas