什么可能是套接字错误的原因“[Errno 9]错误的文件描述符”

时间:2013-06-20 06:53:23

标签: python sockets python-2.7

我有一个复杂的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手动验证了这一点。那么我可能会因为打开与给定端口的连接而出现此错误的原因是什么呢?

我不能也不会发布完整的脚本,因为这个问题过于复杂和无关紧要。我只是想知道这个错误的所有可能原因,以及如何检查和修复它们。

1 个答案:

答案 0 :(得分:25)

您需要创建一个新的套接字对象。在关闭前一个套接字之后和连接之前可能self.socket = socket.socket()