python 套接字在重启应用程序后不工作

python socket doesn't work after restart application

我有一个 python 脚本服务器-> 客户端,出于某些原因,我使用 py2exe 从 py 生成一个 exe,这样我就可以在没有安装 python 的机器上使用。
我有并更新系统: 我向服务器发送命令更新,服务器启动一个 bat 文件:

suprocess.Popen("C:/Server/server.bat", shell=False) #

和server.bat包含:

@echo off taskkill /f /im "dServer.exe" echo D | xcopy /s /y \netpath\share\Server\c:\Server start dServer.exe exit
当我第一次启动 dServer.exe 它工作时,我可以将命令从客户端发送到服务器并收到答复。但是在更新和 dServer.exe 再次启动后,服务器将无法工作,我收到 socket.timeout 错误并且无法发送命令。
有人知道为什么它第二次不起作用吗?
p.s 我有命令:server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
谢谢!

问题是套接字服务器没有那么快关闭,而第二个服务器开始快速但不能,因为它正在使用端口。 我修改了 dServer.py,现在在调用 server.bat 之前我关闭了套接字。