为了测试TSINGSEE青犀视频云边端平台在不同版本系统中的兼容性和稳定性,我们经常会拿不同程序在不同系统版本当中做实验,发现部分 Windows10 操作系统中运行 EasyNVR 时,会出现 “An attempt was made to access a socket in a way forbidden by its access permissions”问题。
一般该种情况是因为其他进程占用了对应的 10800 端口,但是使用 netstat –ano | findstr “10800”,未查找到对应端口。
后来关闭防火墙,发现仍然存在该问题。询问客户最近是否新安装了什么软件,客户反馈安装了 Hyper-V,因此定位到问题点。Hyper-V 是虚拟机软件,会占用对应的范围端口,在运行虚拟机的时候才会真正占用对应的端口,因此查询不到对应的端口占用,修改 Hyper-V 的绑定端口可以解决该问题。
首先在Windows管理程序中,将Hyper-V取消:
取消完毕后,重启操作系统,以管理员身份运行控制台,输入以下程序,修改对应的动态绑定端口。
netsh int ipv4 set dynamicport tcp start=49152 num=16383
netsh int ipv4 set dynamicport udp start=49152 num=16383
设置完毕后,重启启用 Hyper-V 功能,重新运行 easynvr,可以正常启动。