关于Windows端口没被占用提示An attempt was made to access a socket in a way forbidden by its access permissions

编程知识 更新时间:2023-04-06 11:01:17

问题

某软件启动日志一直提示:An attempt was made to access a socket in a way forbidden by its access permissions。
我百度发现全是“netstat -aon|findstr “49157””这种,但是我试了发现没有进程占用。

原因

后来好不容易找到了TCP动态端口起始端口,发现很多人说改这个可以解决问题。

然后查到Windows Vista 和 Windows Server 2008 中,TCP/IP 默认动态端口范围已更改,通过里面的命令“netsh int ipv4 show dynamicport tcp”发现起始端口变成了1024。

最后Hyper-V和IDEA运行端口占用问题发现可能是因为开启了Hyper-V,导致ipv4的动态起始端口变成了1024。

解决方案

关闭Hyper-V

Microsoft Windows [版本 10.0.18363.752]
© 2019 Microsoft Corporation。保留所有权利。
C:\WINDOWS\system32>dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

或者采用传统方式,在控制面板的“程序和功能”中,找到“Windows功能”,取消Hyper-V的勾选。这两种方法都会要求重启。

修改动态端口范围

使用管理员身份运行cmd

C:\WINDOWS\system32>netsh int ipv4 set dynamicport tcp start=49152 num=16383
确定。

C:\WINDOWS\system32>netsh int ipv4 set dynamicport udp start=49152 num=16383
确定。

然后检查结果

C:\Users\Chirius>netsh int ipv4 show dynamicport tcp
协议 tcp 动态端口范围
启动端口 : 49152
端口数 : 16383

开启Hyper-V

C:\WINDOWS\system32>dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
部署映像服务和管理工具
版本: 10.0.18362.1
映像版本: 10.0.18363.752
启用一个或多个功能
[100.0%]
操作成功完成。
重新启动 Windows 以完成该操作。
是否立即重新启动计算机? (Y/N)

输入Y进行重启之后就解决了。

更多推荐

关于Windows端口没被占用提示An attempt was made to access a socket in a way forbidden by it

本文发布于:2023-04-06 11:01:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/6b17bf6f47f34c5f37fe9d9d8133bc6d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:端口   提示   attempt   Windows   forbidden

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 49191文章数
  • 14阅读数
  • 0评论数