内容目录
Windows平台运行程序或者执行命令报如下错误:
Error: listen tcp 0.0.0.0:****: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Error: listen tcp 127.0.0.1:****: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
- 提示:端口拒绝访问(本文示例端口是8001)
- 查看对应的端口号 8001 是否被占用,
netstat -aon|findstr 8001
- 如果被占用,运行命令
taskkill /pid 8001 -t -f
结束进程,则问题解决
如果未被占用,则需要查看端口号是否在 Hyper-V 保留tcp端口范围内,开始到结束范围内的端口不可用,
netsh interface ipv4 show excludedportrange protocol=tcp
,结果可以看到 8001 确实在在排除范围内
解决方法如下 :
- 最简单的办法就是修改程序或命令使用的端口
如果不修改使用端口,就需要修改保留端口,修改方法如下:
- 最简单的办法-重启电脑:保留的端口是随机的,每次重启电脑都会改变,因此可以通过重启电脑来解决。
重新设置一下【TCP 动态端口范围】,让 Hyper-V 只在设定的范围内保留端口即可:(管理员权限)
netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384
先执行以上两个命令,然后重启电脑。
重启后运行命令
netsh int ipv4 show dynamicport tcp
查看TCP动态端口范围或者运行命令
netsh interface ipv4 show excludedportrange protocol=tcp
查看TCP排除范围
0 条评论
撰写评论