我有一个令人沮丧的问题,我的程序无法连接到其指定端口。我使用的是 Windows 10 计算机,我的问题如下:我打开一个需要端口 5053 的软件或另一个需要 50504 的软件,它们给我错误,这些端口正在使用中:5053 错误:
端口 5053 正在使用,正在等待...
50504 错误:
尝试以访问权限不允许的方式访问套接字
我不知道是什么原因造成了这个端口堵塞。
我用过网络状态和TCP查看器并且没有任何软件或进程或服务占用这些端口,程序仍然无法打开并且其 Windows 服务也无法启动。
- 在我的程序日志中,它给出了上述错误(更重要的是 5053 错误)。
我能找到的唯一解决方案是运行net stop hns && net start hns
,经过多次反复试验并在运行此命令后重新加载服务,它们就会起作用。
我不是网络专家,我对网络基础知识了解不多,我只是通过谷歌搜索和滚动论坛才走到这一步,但我找不到这个问题的根源并修复它。
我也使用防火墙(卡巴斯基互联网安全软件),但多年来我一直使用它,从未出现过这样的问题
如果我需要检查和报告任何事情或者任何可能的原因,请告知我。
答案1
非常感谢你们(@frank-thomas,@harrymc和@丹尼尔-b)
在您的帮助和指导下,我终于找到了问题所在并提出了解决方案:
解决方案第 1 部分
- 在阅读了您链接的部分帖子后,我发现了Windows 端口排除范围所以我运行了
netsh
那里的命令并发现我有多少个排除范围(大约 123 个端口排除范围!!!)
netsh int ip show excludedportrange protocol=tcp
我询问了 Bard 和 ChatGPT 端口排除范围的正常数量是多少,他们告诉我这个数字会有所不同,但通常小于 10!由此我明白了为什么我几个月来一直在这个问题上苦苦挣扎。
我找到了在排除范围内给出错误的端口
然后我尝试禁用 Hyper-V将我正在使用的端口分配到新的排除范围内,然后重新启用它,但我发现,就我而言,它对它们没有太大影响。但这可能是其他人的解决方案
解决方案第 2 部分
- 之后我看到了这个帖子这解释了哪些其他进程正在使用这些排除范围以及如何禁用它们(这是最有帮助的)。对我个人而言,当我收到相同的错误时,下面的行有效:
(以管理员身份运行)
net stop winnat && net start winnat
- 然后我看到此评论我认为创建一个注册表来禁用排除端口范围也可能有帮助
目前,我不知道第 2 部分中的哪一个解决方案最有帮助,但它们确实解决了我的问题。