python[Windows]中TCP连接的网络资源

python[Windows]中TCP连接的网络资源,python,windows,multithreading,sockets,tcp,Python,Windows,Multithreading,Sockets,Tcp,我不确定我使用的python脚本是否有问题。 基本上,它产生线程,每个线程创建一个tcp连接。 脚本完成后,我甚至检查是否有线程仍在运行,所有线程都返回False(不活动,这是好的) 问题是,如果我检查(我使用nirsoft的curport),一些tcp连接(有时介于1和9之间)仍处于已建立状态,有时处于已发送状态。 这是个问题吗?它们最终会消失,但几分钟后就消失了。 这是python方面的错误,还是基本的windows过程 我用S.close关闭插座,如果有帮助的话。我没有使用守护进程线程,只

我不确定我使用的python脚本是否有问题。 基本上,它产生线程,每个线程创建一个tcp连接。 脚本完成后,我甚至检查是否有线程仍在运行,所有线程都返回False(不活动,这是好的)

问题是,如果我检查(我使用nirsoft的curport),一些tcp连接(有时介于1和9之间)仍处于已建立状态,有时处于已发送状态。 这是个问题吗?它们最终会消失,但几分钟后就消失了。 这是python方面的错误,还是基本的windows过程

我用S.close关闭插座,如果有帮助的话。我没有使用守护进程线程,只是简单的线程,我只是等待它们全部完成
(t.join())

我需要知道我该担心还是让他们去吧。原因是,他们正在蚕食短暂的港口号码,此外,我不知道这是否让我无法获得资源

如果你能给我一个友好的答复,我将不胜感激

最后一次编辑:在发送S.close()之前,我确实使用了S.shutdown()
我不做任何错误检查,除了尝试之外,我不知道如何做:

简单的答案是TCP连接需要在关闭之前正常关闭

有关如何调用shutdown和close的更多详细信息:


简单的答案是,TCP连接需要在关闭之前正常关闭

有关如何调用shutdown和close的更多详细信息:


将有助于包括演示问题的最小代码示例。的可能重复将有助于包括演示问题的最小代码示例。在S.close()之前发送S.shutdown()的可能重复,我也使用非阻塞套接字,但不是使用select(),而是使用setblocking(0)和settimeout(15)对于整个socketEdit:到目前为止,在脚本完成后,已建立和发送的tcp连接平均在1.5分钟内消失。这正常吗?我是不是应该就这样离开,继续走下去?我将shutdown()和close()改为shutdown(1)和close(),看看第三个链接。它在一个表中解释了您应该(IIUC):shutdown(WR),并等待FD_CLOSE,CLOSE()。我确实在S.CLOSE()之前发送S.shutdown(),我也使用非阻塞套接字,但不是使用select(),而是对整个socketEdit使用setblocking(0)和settimeout(15):到目前为止,在脚本完成之后,已建立和发送的tcp连接平均在1.5分钟内消失。这正常吗?我是不是应该就这样离开,继续走下去?我将shutdown()和close()改为shutdown(1)和close(),看看第三个链接。它在一个表中解释了应该(IIUC):关闭(WR),并等待FD_关闭,关闭()。