搭建阿里云服务器,实现服务端与客户端socket数据通信(详细版) 文章目录0 引言1. 注册账号、免费申请阿里云服务器2. 配置服务器环境3. 远程连接服务器4. 给服务器传输文件5. 可能出现的问题0 引言最近在做一个项目需要用到一个客户端电脑监测巡检设备无人船的数据考虑用到巡检设备搭载4G通讯模块将数据上传到服务器然后服务器再传给电脑客户端用上位机监测数据变化并保存接收数据成日志同时也可以开发APP在手机端实时监测数据。本文主要是针对服务端和客户端之间数据传输的探索过程由于本人之前没有接触过网络通信如果错漏之处请大家批评指正谢谢本文PDF版及代码部分见https://download.csdn.net/download/qq_41821678/13986226已经下载的人可以联系我获取最新资料邮箱zhankun3280139.com1. 注册账号、免费申请阿里云服务器申请网址https://free.aliyun.com/?spm5176.19720258.J_2937333540.11.e9392c4a6d5rqNscm20140722.3079.7.2925自己注册一个阿里云账号登陆。免费申请一个云服务器试用期7天如下红色方框内。选择对应的操作系统我选择Linux系统18.04。注册完之后需要登陆服务器。选择右上角的“控制台”——“服务与产品”——“云服务器ECS”2. 配置服务器环境点击左侧的“实例”选择服务器地址勾选实例“重置实例密码”【非常重要以后进入服务器系统就需要这个账号密码】账号默认是root密码自己设置的密码重置密码之后会重启服务器。然后设置”安全组“在左侧“网络与安全”下能找到。然后勾选实例点击“配置规则”。然后添加访问规则。除了默认的还可以添加一些其他的用到的端口。这里面22/tcp就是我们用ssh远程连接要用到的端口。3. 远程连接服务器这里列举三种远程连接方式。Workbench远程连接VNC远程连接PuTTY远程连接1Workbench远程连接注意用户名默认是root密码就是之前重置的密码。如果忘记自己可以再重新设置Workbench远程连接最终界面如下2VNC远程连接点击远程连接选择”VNC远程连接“然后立即登录。注意这里面的密码是VNC密码不是之前设置的用户密码。如果忘记VNC密码也可以重置密码。VNC成功远程服务器界面如下图3PuTTY远程连接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远程连接方式进入服务器在终端窗口输入sudo ufw status# 查看防火墙状态sudo ufw allow ssh# 打开SSH常用的命令sudo ufw enable/disable#打开/关闭防火墙sudo ufw allow/deny[service]#开启/禁用端口号 ###非常重要2客户端运行程序连接不上服务器报错 s.connect((host, port)) TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应连接尝试失败。这个可能就是端口没有被允许所以要使能一下。我们可以先查看防火墙状态看看是不是有自己设置的端口。如果没有就需要开启。sudo ufw status# 查看防火墙状态sudo ufw allow/deny8088#开启/禁用端口号sudo ufw allow/deny8088/tcp#开启/禁用端口号另外在防火墙安全组配置此端口见第2节配置服务器环境。如果端口号也设置了客户端还是连接不上服务器可能是服务器IP没有设置对。配置服务器IP操作步骤远程登陆进入服务器系统查看服务器内网IPvim /etc/hostsvim /etc/hostname注意服务器/etc/hosts中是内网IP客户端是外网IP。3运行程序时有时候会遇到地址已经被使用报错。报错 OSError: [Errno 98] Address already in useOSError: [Errno 98] Address already in use 错误是指端口被占用未释放或者程序没有正常结束解决方法1.更换端口。2.使用终端命令杀死进程。lsof-i:端口号#例如lsof -i:8088kill-9pid#pid是指进程的ID号( 端口号)kill -9 用来强制杀死进程ps-fA|grep python#查看在运行中的端口程序最终效果图

相关新闻

最新新闻

AI生成游戏不等于3A制作:从Demo到产品的工程化之路

AI生成游戏不等于3A制作:从Demo到产品的工程化之路

最近有一个标题在技术圈里传得很快: Opus 5 手搓 3A 级游戏爆火 ,紧接着是卡帕西(Andrej Karpathy)出来泼了一盆冷水。一边是“AI 是不是要替我们把游戏做完了”的兴奋,一边是“你们可能对 3A 游戏有什么误解”的冷静…

2026/8/29 8:11:29
免费开源的tradingview-mcp:MIT协议下你能得到什么、不能得到什么

免费开源的tradingview-mcp:MIT协议下你能得到什么、不能得到什么

免费开源的tradingview-mcp:MIT协议下你能得到什么、不能得到什么 【免费下载链接】tradingview-mcp AI-assisted TradingView chart analysis — connect Claude Code to your TradingView Desktop for personal workflow automation 项目地址: https://gitcode.…

2026/8/29 8:11:29
GPT4All 完整指南:本地大模型 3 个真实场景跑通、5 个常见坑与选型清单

GPT4All 完整指南:本地大模型 3 个真实场景跑通、5 个常见坑与选型清单

GPT4All 完整指南:本地大模型 3 个真实场景跑通、5 个常见坑与选型清单 【免费下载链接】gpt4all GPT4All: Run Local LLMs on Any Device. Open-source and available for commercial use. 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4all 机场网…

2026/8/29 8:11:29
STM32F746Discovery移植TouchGFX:从CubeMX配置到图形界面实战

STM32F746Discovery移植TouchGFX:从CubeMX配置到图形界面实战

F746Discovery这块板子,很多人入手就是冲着那块480x272的RGB屏,那不用TouchGFX做点界面确实可惜。上次1.1实验里我把串口和LED调通了,这次直接进入图形界面环节,用STM32CubeMX配合TouchGFX Designer做一次完整的移植,把…

2026/8/29 8:11:29
深度学习基础重学:从机器学习本质到PyTorch实战工作流

深度学习基础重学:从机器学习本质到PyTorch实战工作流

1. 为什么“重学”比“初学”更重要? 如果你手边有《动手学深度学习》这本书,或者看过李沐老师的课程视频,可能会觉得第一章“深度学习简介”内容比较基础,无非是讲了些机器学习、深度学习的基本概念,再展示几个简单的…

2026/8/29 8:11:28
DeerFlow 2.0 上手手册:3 个核心场景跑通长任务深度研究

DeerFlow 2.0 上手手册:3 个核心场景跑通长任务深度研究

DeerFlow 2.0 上手手册:3 个核心场景跑通长任务深度研究 【免费下载链接】deer-flow An open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway,…

2026/8/29 8:06:28