socket访问公网服务器失败

1.socket访问公网服务器失败

1.1问题描述:

在局域网内部进行socket编程时可以成功的相互通信,倒是一旦放到公网上则无法连接上。

1.2解决方案:

这是由于云服务提供商防火墙的缘故,登录云服务控制台设置相应socket端口开放即可。若还未能解决问题查看以下。

1.2.1查看服务器相应的端口是否开放有关命令:

1、开放端口

firewall-cmd --zone=public --add-port=5672/tcp --permanent           //开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent     //关闭5672端口

firewall-cmd --reload   //配置立即生效

2、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

3、关闭防火墙

systemctl stop firewalld.service

4、查看防火墙状态

firewall-cmd --state

5、查看监听的端口

netstat -lnpt

6、检查端口被哪个进程占用

netstat -lnpt |grep 5672

2.2.1查看服务器,客户端IP是否写正确。

       服务器socket绑定的IP应为本机的IP填写时可以用0.0.0.0代替或者将sin_addr设置为INADDR_ANY

       客户端socket绑定的IP应为目标网络的ip

 

posted @ 2023-04-13 03:28  图南本南  阅读(202)  评论(0编辑  收藏  举报