为什么scoket连接云服务器的22端口能连通,但是连接自己定义的TCP:8888等等端口就连不通

腾讯云服务器 ubuntu系统。 服务器端socket为什么不能绑定公网IP地址。
文档上说是linux 默认将22端口暴露在公网上?这个暴露是什么意思?怎么暴露的

c++

4个回答

可以绑定公网IP但你的端口是路由器分配的,你在电脑上指定的端口,与路由分给你的并不一定一致。你要在路由上查询或设置你在公网上用的真实端口,来完成通信!另外公网IP是有运营商分配的你要通过第三方查询电脑自己是无法获取的。

weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 可以简单实现多机文字通讯
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 这是我自己写的TCP连接服务器和客户端,是用VS2017编译运行的,C++程序,MFC基于对话框的例子
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: https://download.csdn.net/download/weixin_43221875/10989327
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 求打赏等着用
一年多之前 回复
weixin_43221875
幻泪风痕 得到了公网IP和端口后只要在客户端程序里按内网通讯时一样设置就可以实现外网通讯了,但一旦服务器公网IP变化需要重新获取查询
一年多之前 回复
weixin_43221875
幻泪风痕 所有问题是客户端如何获取和连接服务器,最直接的就是手动去百度获取服务器本机公网IP,在去路由上设置或查询公网端口
一年多之前 回复
weixin_43221875
幻泪风痕 当然普通的个人电脑公网IP地址不但不固定,而且如果有路由公网IP还不能通过自己的电脑查询
一年多之前 回复
weixin_43221875
幻泪风痕 服务器的程序应该是不用改的比较简单和内网通信时一样旧可以了,但客户端旧比较麻烦了一定要获取真正的服务端公网IP地址和端口
一年多之前 回复
weixin_43221875
幻泪风痕 还有这里必须区分清除谁是服务器谁是客户端
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 在外网上实际的端口你需要通过路由查询或设置,你通过程序设置的也不是你在公网上的端口,而是你在内网上的端口
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 你的服务器应该是普通私人电脑吧?你需要先通过网络获取你真正的IP地址,这个和你在电脑上查出来的应该不一致,你电脑查出来的是你在路由器内网上IP地址
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 问题应该是出在你给的服务器地址和端口并不是实际服务器在公网的IP地址和端口上
一年多之前 回复
weixin_43221875
幻泪风痕 一个是服务一个是客户端,他们根据你选择的方式建立连接,假如你选择TCP长连接,客户端会按照你程序给的服务端地址和端口去尝试连接,这个IP地址和端口,必须与实际服务器的地址和端口一致
一年多之前 回复
qq_34653062
HX_醉里挑灯看剑 客户端和云服务器端都必须绑定一样的端口才能通信。也就是说我客户端这边连接的是拥有公网IP路由器的的实际端口。云服务器估计是将本机内网IP和端口绑定!然后映射到公网IP路由器上。路由器进行数据转发到本机........不知道正不正确
一年多之前 回复

因为有内设的端口被占用了

22端口是ssh默认端口,服务器上肯定会开启的,不然你怎么远程连接服务器? 自定义端口不能连接是因为防火墙的原因

qq_34653062
HX_醉里挑灯看剑 回复流泪熊猫头: 已经解决了
一年多之前 回复
qq_39234705
流泪熊猫头 回复HX_醉里挑灯看剑: 那就是服务器端口未开启或被占用
一年多之前 回复
qq_34653062
HX_醉里挑灯看剑 防火墙状态为未开启状态
一年多之前 回复

这操作系统的端口肯定不像Windows里面那样随便都能连,应该是要在系统内打开才能连接的,这就是linux系统相关知识了,你需要系统学习一下linux系统的设置和操作。

weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 你需要了解下内网穿透技术,求打赏却C币下资源
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 你要外网上设备找到你需要路由设置,或者你的网线不经过路由
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 你要去路由上看端口,你电脑上获得的和设置都是你电脑在内网上的IP和端口
一年多之前 回复
weixin_43221875
幻泪风痕 回复HX_醉里挑灯看剑: 你在程序里设置的端口,与实际路由分给你应该是不一致的
一年多之前 回复
qq_34653062
HX_醉里挑灯看剑 主要是我服务器端的程序。sockaddr_in 的是后绑定的外网IP和8888端口。应该绑定内网和8888。这公网IP还不能直接使用...
一年多之前 回复
phenix2009
白色一大坨 我主要是做Windows的,不过linux有接触,22端口开了是给一些软件传文件用的,我这边是这样,linux我们有专门的工程师给我配置,我只要编程就可以,所以这块算一知半解吧
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐