相关文章推荐
销魂的香菜  ·  Visual Studio ...·  1 年前    · 
会搭讪的饭盒  ·  spring-boot Xml Json ...·  1 年前    · 
害羞的松树  ·  python ...·  1 年前    · 
玩篮球的跑步鞋  ·  node.js - Sailsjs - ...·  1 年前    · 

因为项目需求,刚买了一个阿里云的服务器,系统是ubuntu16.04的,配置好后,将Python写好的服务器脚本上传到云服务器。运行之后,在本地的客户端却无法连接(确定程序没有问题)。
在网上查找了很多方法,尝试无果。最终多亏实验室师兄的帮助,才解决。

遂,记录问题及解决方法,前车之鉴,请小心入坑!

无法连接服务器端可能的原因:(在这之前确保已经能够登录系统,正常运行)
1、阿里云相应端口没有开放

阿里云服务器默认是不开放所有端口的,刚购买的服务器只开了 22 3389 ICMP 这几个,那么如果是自己编写的服务器程序,设置的端口(一般是动态端口)往往是没有开的。所以需要我们自己去打开,打开方式:
在云服务器的左边列表中找到 网络与安全 -> 安全组 -> 配置规则
在这里插入图片描述
在这里插入图片描述
进入 快速创建规则 ,仅需要修改自定义端口: TCP 9999 (可以自定义端口号),授权对象: 0.0.0.0/0 (表示允许所有ip对象访问),即可。
在这里插入图片描述

2、服务器端程序和客户端程序地址设置错误(重点)
  1. 阿里云端 服务器socket 绑定阿里云的 私网地址
  2. 要连接阿里云服务器的 客户端的socket 要设置为阿里云的 公网地址
3、是不是下面这个原因?

在这里插入图片描述
在这里插入图片描述
上面两张图,唯一的区别在于:第一张图里面,ip地址前有空格。最后是去掉了这个空格才连接成功的。
唉~

1、 解决socket连接阿里云服务器所遇到的问题
2、 阿里云服务器无法访问80或8080端口的
3、 socket TCP:在阿里云ESC上搭建自己的TCP服务端程序

因为项目需求,刚买了一个阿里云的服务器,系统是ubuntu16.04的,配置好后,将Python写好的服务器脚本上传到云服务器。运行之后,在本地的客户端却无法连接(确定程序没有问题)。在网上查找了很多方法,尝试无果。最终多亏实验室师兄的帮助,才解决。遂,记录问题及解决方法,前车之鉴,请小心入坑!无法连接服务器端可能的原因:(在这之前确保已经能够登录系统,正常运行)1、阿里云相应端口没有开放...
1、在 阿里云服务器 实例创建安全组规则,添加规则。不懂添加规则可以看 阿里云 教程 2、开启防火墙 systemctl start firewalld3、设置打开的 端口 号(永久打开) firewall-cmd --add-port=8000/tcp --permanent4、更新一下:在设置好 端口 后,需要执行 firewall-cmd --reload5、查看已经打开的 端口 firewal
很奇怪啊,明明设置好了安全组,怎么会 无法 绑定呢? 最后经过一波冲浪,发现这是 阿里云 的锅,它的网卡地址是内网地址,它自己会把内网地址与外网相互转换,所以说你要搞网络编程的话,ip地址得填 服务器 私网ip。 公网ip和私网ip可以在 阿里云 实例列表里查看 总结一下: 用 阿里云 进行 socket 编程一定要注意: 服务器 端ip地址记得写私网ip, 客户端 访问时填公网
1、环境:腾讯云 服务器 、ubuntu16、python3、git 2、在自己电脑(我的win10)用python3写好 socket 服务端代码,上传到自己的GitHub,然后在云 服务器 里git clone 工程。我的是: git clone https://github.com/LixinSy/appserver.git 3、重点来了,修改IP: (1)在 socket 客户端 代码中,把host ip改成云 服务器 的公网ip (2)在 socket 服务端代码中,把ip 改成云 服务器 的内网ip
Web Socket 是一种用于在Web浏览器和Web 服务器 之间进行实时双向通信的协议。它使用标准HTTP 端口 (80和443)进行通信,因此不会有防火墙 问题 。Web Socket 客户端 连接 Socket 服务器 是通过 建立 持久的 连接 来启动的。 Web socket 客户端 可以使用JavaScript来实现,在浏览器中通过Web Socket API来创建Web Socket 连接 对象,然后调用 连接 对象的方法来 连接 Socket 服务器 。一旦 连接 建立 客户端 可以发送和接收消息。与传统的web应用程序不同的是,这种通信方式不需要在每个交互中重新 建立 连接 ,可以保持持久 连接 ,从而提高通信效率。 Socket 服务器 可以是任何支持Web Socket 通信的 服务器 ,例如Node.js、Java、Python等,Web Socket 客户端 通过Web Socket 协议对 服务器 进行 连接 服务器 收到 连接 请求后会创建一个Web Socket 对象,与 客户端 建立 连接 ,然后 服务器 客户端 之间就可以进行双向通信。 在Web Socket 通信中, 客户端 服务器 之间的数据传输是通过通道进行的。数据可以被包含在文本和二进制消息中,并通过Web Socket 连接 进行发送和接收。这种通信方式可以用于实时数据推送、在线游戏等场景,提高了Web应用程序的交互性和响应速度。