搭建阿里云服务器,实现服务端与客户端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#查看在运行中的端口程序最终效果图

相关新闻

最新新闻

Edge-TTS 与 3款主流TTS方案对比:免费、付费、开源方案实测与选型指南

Edge-TTS 与 3款主流TTS方案对比:免费、付费、开源方案实测与选型指南

Edge-TTS 与主流TTS方案深度对比:技术选型实战指南在语音合成技术快速发展的今天,开发者面临着众多TTS(Text-to-Speech)解决方案的选择。从商业闭源产品到开源工具,每种方案都有其独特的优势和适用场景。本文将深入对比…

2026/7/11 11:26:14
LeetCode SQL 必会的 5 个窗口函数:ROW_NUMBER、RANK、DENSE_RANK、LAG、LEAD 一文搞懂

LeetCode SQL 必会的 5 个窗口函数:ROW_NUMBER、RANK、DENSE_RANK、LAG、LEAD 一文搞懂

在刷 LeetCode SQL 时,很多题目都会涉及窗口函数(Window Function)。其中最常用的其实只有 5 个,而前三个几乎是每个 SQL 面试都会考察的重点。本文将通过实例讲解这 5 个窗口函数的区别以及适用场景。一、什么是窗口函数&#xf…

2026/7/11 11:26:14
2026.04.24高效办公工具组合:即插即用的职场救急方案

2026.04.24高效办公工具组合:即插即用的职场救急方案

1. 这不是“又一个工具包”,而是一套经过237次真实场景验证的效率组合拳 “2026.04.24实用教程工具分享”这个标题乍看平平无奇,像极了你邮箱里被自动归类到“订阅”文件夹的第17封周报。但如果你真把它当普通资源合集跳过,大概率会在接下来…

2026/7/11 11:26:14
TGLStackedViewController源码解析:深入iOS UICollectionView扩展

TGLStackedViewController源码解析:深入iOS UICollectionView扩展

TGLStackedViewController源码解析:深入iOS UICollectionView扩展 【免费下载链接】TGLStackedViewController A stacked view layout with gesture-based reordering using a UICollectionView -- inspired by Passbook and Reminders apps. 项目地址: https://g…

2026/7/11 11:26:14
OpenClaw 2026微信部署全链路指南:计算巢+Qwen3.6-Plus稳定实践

OpenClaw 2026微信部署全链路指南:计算巢+Qwen3.6-Plus稳定实践

1. 项目概述:为什么2026年还在折腾OpenClaw部署?这根本不是“折腾”,而是亲手把AI助手装进微信口袋 我从2023年就开始用Clawdbot,到2024年它改名OpenClaw,再到2026年这个版本——说实话,我最初也觉得“不就…

2026/7/11 11:26:14
Claude Code多文件协同编辑失效诊断清单:12类典型场景+对应AST级修复命令(含CLI一键修复脚本)

Claude Code多文件协同编辑失效诊断清单:12类典型场景+对应AST级修复命令(含CLI一键修复脚本)

更多请点击: https://intelliparadigm.com 第一章:Claude Code多文件协同编辑失效的底层机制解析 Claude Code在多文件上下文感知场景下出现协同编辑失效,根本原因在于其上下文窗口管理策略与文件依赖图建模的结构性脱节。当用户在编辑器中…

2026/7/11 11:21:14

月新闻