请选择 进入手机版 | 继续访问电脑版

搭建阿里云服务器,实现服务端与客户端socket数据通信(详细版)

[复制链接]
尊悦模具刘沛昌 发表于 2020-12-31 19:22:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  本日我站在这里,不是因为我需要完婚,
是因为我想和你度过余生,不想和你有一刻的分别,
朝暮与年岁并往,与你一起共聚光年。

文章目次



0 引言

最近在做一个项目,需要用到一个客户端(电脑)监测巡检设备(无人船)的数据,思量用到巡检设备搭载4G通讯模块,将数据上传到服务器,然后服务器再传给电脑客户端,用上位机监测数据厘革并生存接收数据成日志,同时也可以开辟APP,在手机端实时监测数据。
本文主要是针对服务端和客户端之间数据传输的探索过程,由于本人之前没有接触过网络通信,如果错漏之处,请各人品评指正!谢谢!
本文PDF版及代码部分见:https://download.csdn.net/download/qq_41821678/13986226
1. 注册账号、免费申请阿里云服务器

申请网址:https://free.aliyun.com/?spm=5176.19720258.J_2937333540.11.e9392c4a6d5rqN&scm=20140722.3079.7.2925
自己注册一个阿里云账号,登陆。
免费申请一个云服务器,试用期7天,如下赤色方框内。选择对应的操纵系统,我选择Linux系统18.04。

注册完之后,需要登陆服务器。选择右上角的“控制台”——>“服务与产物”——>“云服务器ECS”



2. 设置服务器情况

点击左侧的“实例”,选择服务器地点,勾选实例,“重置实例暗码”【非常重要,以后进入服务器系统,就需要这个账号,暗码】
  账号:默认是root
  暗码:自己设置的暗码

重置暗码之后会重启服务器。
然后设置”安全组“,在左侧“网络与安全”下能找到。然后勾选实例,点击“设置规则”。

然后添加访问规则。除了默认的,还可以添加一些其他的,用到的端口。
这内里22/tcp就是我们用ssh远程毗连要用到的端口。

3. 远程毗连服务器

这里枚举三种远程毗连方式。


  • Workbench远程毗连
  • VNC远程毗连
  • PuTTY远程毗连
(1)Workbench远程毗连


  注意:用户名默认是root;暗码就是之前重置的暗码。(如果忘记,自己可以再重新设置)
Workbench远程毗连最终界面如下:

(2)VNC远程毗连
点击远程毗连,选择”VNC远程毗连“,然后立即登录。
  注意这内里的暗码是VNC暗码,不是之前设置的用户暗码。如果忘记VNC暗码,也可以重置暗码。

VNC成功远程服务器界面如下图:

(3)PuTTY远程毗连
PuTTY下载
链接:https://pan.baidu.com/s/1hVCdrREJFy0qWbFycHZbug
提取码:yst7
首先,复制服务器的公网IP。

然后打开PuTTY软件,输入刚刚复制的IP。

输入用户名和暗码,即可远程毗连服务器。
  用户名:默认root
  暗码:自己设置的,如果忘记,可以重置实例暗码。

4. 给服务器传输文件

下载FileZilla软件下载
链接:https://pan.baidu.com/s/1_Oq5x9ubOc3FEbwpqf5Cfg
提取码:u5dq
复制服务器的公网IP。
  主机:sftp://你的公网IP
用户名:默认root
暗码:自己设置的暗码
端口:默认是22,可以不填
然后点击“快速毗连”即可给服务器传输文件。

5. 大概出现的问题

(1)远程毗连不上,PuTTY和FileZilla软件都毗连不上。
错误: FATAL ERROR: Network error: Connection refused 错误: 无法毗连到服务器 状态: 正在等候重试...
报错 Network error:connection timed out
  原因之一就是服务器防火墙被打开了,然后SSH没有被允许,所以一直毗连不上。
办理方法:
首先在服务器(用VNC远程毗连方式,进入服务器),在终端窗口输入
  1. sudo ufw status  # 检察防火墙状态sudo ufw allow ssh # 打开SSH
复制代码
常用的命令:
  1. sudo ufw enable/disable  #打开/关闭防火墙
复制代码
  1. sudo ufw allow/deny [service] #开启/禁用端标语 ###非常重要
复制代码
(2)客户端运行步伐,毗连不上服务器
报错 s.connect((host, port)) TimeoutError: [WinError 10060] 由于毗连方在一段时间后没有正确答复或毗连的主机没有反应,毗连尝试失败。
  这个大概就是端口没有被允许,所以要使能一下。
我们可以先检察防火墙状态,看看是不是有自己设置的端口。如果没有,就需要开启。
  1. sudo ufw status  # 检察防火墙状态sudo ufw allow/deny 8088 #开启/禁用端标语sudo ufw allow/deny 8088/tcp #开启/禁用端标语
复制代码
别的在防火墙(安全组)设置此端口,见第2节,设置服务器情况。
  如果端标语也设置了,客户端照旧毗连不上服务器,大概是服务器IP没有设置对。
设置服务器IP操纵步调:

  • 远程登陆,进入服务器系统;
  • 检察服务器内网IP
  • vim /etc/hosts
  • vim /etc/hostname

  注意服务器/etc/hosts中是内网IP,客户端是外网IP。
(3)运行步伐时,有时候会遇到地点已经被使用报错。
报错 OSError: [Errno 98] Address already in use
  OSError: [Errno 98] Address already in use 错误是指端口被占用,未释放大概步伐没有正常竣事
办理方法:
1.更换端口。
2.使用终端命令杀死历程。
  1. lsof -i:端标语  #比方lsof -i:8088kill -9 pid    #pid是指历程的ID号( 端标语),kill -9 用来强制杀死历程ps -fA | grep python  #检察在运行中的端口步伐
复制代码
最终效果图:



来源:https://blog.csdn.net/qq_41821678/article/details/111996250
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )