当前位置:C++技术网 > 资讯 > TCP客户端连不上云服务器的问题解决办法

TCP客户端连不上云服务器的问题解决办法

更新时间:2017-02-20 16:25:59浏览次数:1+次

    前言:我们在开发云服务器TCP通信程序时,需要本地的TCP客户端连接服务器通信。而通信端口则是我们自己定义的端口,一般是大于1024,不建议使用小于1024的端口,以免和系统的一些程序冲突。当然,这只是建议。如果你确实想用小于1024的端口号,Linux中需要使用root权限哦。

    而今天的问题是,本地的TCP客户端连不上云服务器,最后超时失败了。

    凭借我的云服务器使用经验,我已经判断出来是什么问题了,那就是云服务器的安全组设置问题。很多时候,在服务器刚配置好的时候,我们一般只开放22的ssh端口,其他的端口都是关闭的。这是为了服务器安全起见。但是当我们程序开启了新端口时,我们需要及时将我们的新端口暴露出来,否则云服务器会直接将客户端挡掉,自然就连接不上了。

    这个和你的服务器是否开启端口服务没有关系,这属于服务器安全管理的问题,但是我们必须知道处理办法。可能没有权限操作云服务器的开发人员碰到这个问题,而管理云服务器的人员也不知道什么问题,结果就会卡在这里。开发人员总以为自己的程序出了问题,那可就浪费时间了。

    下面以腾讯云服务器举例说明。下面是腾讯云后台管理系统的菜单:

TCP客户端连不上云服务器的问题解决办法

    我们选择“安全组”,如下图所示:

TCP客户端连不上云服务器的问题解决办法

    点击“编辑规则”,然后跳到如下界面:

编辑云服务器的入站规则

    我们要选择TCP协议,端口就是我们自定义的端口,后面的IP部分,不用填写。默认为0.0.0.0,就是使用服务器的任意IP地址,这样我们就可以使用云服务器的公网IP连接服务器了。0.0.0.0就是socket编程的INADDR_ANY宏的值哦。然后保存后即可生效。此时再用TCP客户端连接服务器就可以了。如下图所示:

TCP客户端连不上云服务器的问题解决办法