前阵子比赛,搭建了一个后端服务器,后端需要与硬件客户端进行socket通讯,在本地测试没问题部署到腾讯云爆出这个错误,排查过程如下:
- 在log文件中显示:配置的Socket端口已被占用。
- 通过 netstat -ano |findstr 端口号 命令 查找 哪个进程在占用,tasklist |findstr 进程id号 发现是tomcat占用了这个端口。
- 改用SpringBoot本身的tomcat来直接进行部署,**java -jar xxx.jar **
- 部署后发现,打包文件不包含网页jsp文件,改用war方式打包。
- 之后发现硬件模块并不能访问该端口,排查了腾讯云服务器的安全规则,以及windows防火墙的入站规则,未排查出问题所在。应该是腾讯云服务器本身或者镜像的问题了。
其实也有别的解决方案,只不过受限于比赛带的设备,没能实现。