828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署SQLite数据库浏览器sqlite-web

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署SQLite数据库浏览器sqlite-web

  • 前言
  • 一、Flexus云服务器X实例介绍
    • 1.1 Flexus云服务器X实例简介
    • 1.2 Flexus云服务器X实例特点
    • 1.3 Flexus云服务器X实例使用场景
  • 二、sqlite-web介绍
    • 2.1 sqlite-web简介
    • 2.2 sqlite-web主要功能
  • 三、本次实践介绍
    • 3.1 本次实践简介
    • 3.2 本次环境规划
  • 四、远程连接华为云Flexus云服务器X实例
    • 4.1 购买Flexus云服务器X实例
    • 4.2 查看Flexus云服务器X实例状态
    • 4.3 使用Xshell远程连接
  • 五、检查Flexus云服务器X实例系统环境
    • 5.1 检查操作系统版本
    • 5.2 检查内核版本
    • 5.3 检查Docker版本
    • 5.4 检查Docker服务状态
    • 5.5 检查Docker compose版本
  • 六、安装SQLite数据库
    • 6.1 安装SQLite
    • 6.2 检查SQLite安装版本
    • 6.3 创建数据库目录
    • 6.4 新建test.db文件
    • 6.5 写入数据
  • 七、安装sqlite-web工具
    • 7.1 拉取sqlite-web镜像
    • 7.2 进入部署目录
    • 7.3 编辑docker-compose.yaml文件
    • 7.4 创建sqlite-web容器
    • 7.5 查看sqlite-web容器状态
    • 7.6 查看sqlite-web容器日志
  • 八、访问sqlite-web网页
    • 8.1 关闭防火墙与selinux
    • 8.2 Flexus云服务器X实例安全组配置
    • 8.3 访问sqlite-web初始页
    • 8.4 查询数据相关操作
  • 九、使用体验与总结

前言


随着云计算技术的不断进步,企业对于灵活、高效的计算资源需求日益增长。华为云推出的Flexus云服务器X实例,正是为满足这一需求而设计的新一代云服务器解决方案。凭借其卓越的性能、弹性的资源调度能力和全面的安全保障体系,Flexus云服务器X实例已成为众多中小企业和开发者青睐的选择。本文将详细介绍如何在华为云Flexus云服务器X实例上部署基于openEuler操作系统的SQLite数据库,并使用先进的Web数据库浏览器sqlite-web来管理和操作SQLite数据库。通过这一部署方案,用户不仅可以体验到华为云的强大算力支持,还能享受到sqlite-web带来的便捷数据库管理体验,进一步提升开发效率和运维管理水平。


一、Flexus云服务器X实例介绍

1.1 Flexus云服务器X实例简介

  • 官网地址: 华为云Flexus云服务器X实例

华为云Flexus云服务器X实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

在这里插入图片描述

1.2 Flexus云服务器X实例特点

  • 提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

  • 可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。

  • 智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

  • 负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus云服务器X实例使用场景

Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:

  1. 电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

  2. 企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

  3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。

  4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、sqlite-web介绍

2.1 sqlite-web简介

sqlite-web 是一个用 Python 编写的基于 Web 的 SQLite 数据库浏览器,它提供了一个图形化用户界面来管理和操作 SQLite 数据库。

2.2 sqlite-web主要功能

  • 兼容性:可以直接连接到现有的 SQLite 数据库,也可以用于创建新的数据库。
  • 数据库对象管理:允许用户添加或移除数据库中的表格。
  • 表结构管理:支持对表格进行列的增删操作,兼容旧版 SQLite。
  • 索引管理:能够创建和删除索引以优化数据库性能。
  • 数据导出:支持将数据库中的数据导出为 JSON 或 CSV 格式文件。
  • 数据导入:可以从 JSON 或 CSV 格式的文件中导入数据到数据库。
  • 数据浏览:提供了一个直观的方式来浏览数据库中的表格数据。
  • 数据编辑:允许用户插入新的记录行,更新现有记录,或者删除不需要的行。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为openEuler 22.03 LTS;
3.本次实践在Docker环境下部署SQLite数据库浏览器sqlite-web。

3.2 本次环境规划

服务器类别公共镜像选择内网IP地址Docker版本操作系统版本
华为云Flexus云服务器X实例openEuler192.168.0.16926.1.3openEuler 22.03 LTS

四、远程连接华为云Flexus云服务器X实例

4.1 购买Flexus云服务器X实例

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。

在这里插入图片描述
在这里插入图片描述

  • 可参考以下基础配置,进行购买:

1.计费模式:包年/包月,这里选择此模式;
2.区域:华北—北京四,可用区:随机即可;
3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;
4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);
5.应用加速:这里选择不加速;
6.存储:系统盘,通用型SSD100G;
7.网络:选择默认即可;
8.安全组:选择默认即可;
9.弹性公网IP:选择“现在购买”,全动态BGP,带宽3Mbit/s;
10.云服务器名称:可自定义设置,这里选择默认的名称;
11.登录凭证:自定义设置密码;
12.云备份:暂不购买;
其余配置默认即可。

  • 确认配置及购买

在确认配置页面,检查Flexus云服务器X实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云Flexus云服务器X实例购买成功。

在这里插入图片描述

4.2 查看Flexus云服务器X实例状态

进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。

在这里插入图片描述

4.3 使用Xshell远程连接

  • 复制Flexus云服务器X实例的弹性公网IP地址

在这里插入图片描述

  • 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。

在这里插入图片描述

在这里插入图片描述

五、检查Flexus云服务器X实例系统环境

5.1 检查操作系统版本

检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64

[root@flexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_64

5.3 检查Docker版本

部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为 26.1.3

[root@flexusx-51a1 ~]# docker -v
Docker version 26.1.3, build b72abbb

5.4 检查Docker服务状态

检查Docker服务状态,确保Docker服务正常。

[root@flexusx-51a1 ~]#  systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 10018 (dockerd)Tasks: 10Memory: 196.3MCGroup: /system.slice/docker.service└─ 10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

5.5 检查Docker compose版本

检查docker compose版本,当前默认安装版本为v2.27.0`。

[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.27.0

六、安装SQLite数据库

6.1 安装SQLite

SQLite 是一个开源的关系型数据库管理系统,它以源代码形式嵌入应用程序中,无需独立的服务器进程或管理系统。SQLite 支持多种操作系统,提供了丰富的 SQL 功能,并以其简单易用、高效可靠的特点广受好评。在openEuler系统上,我们直接安装SQLite。

yum install sqlite -y

在这里插入图片描述

6.2 检查SQLite安装版本

可以执行以下命令,查看当前安装SQLite版本。

[root@flexusx-51a1 ~]# sqlite3 -version
3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1

6.3 创建数据库目录

创建 /data/sqlite/data 目录,用作 SQLite 的数据存储目录。

[root@flexusx-51a1 ~]# mkdir -p  /data/sqlite/data    &&  cd /data/sqlite/data
[root@flexusx-51a1 data]#

6.4 新建test.db文件

我们使用sqlite3命令,创建并且打开一个test.db数据库文件。我们可在这个数据库环境下执行各种 SQLite 相关操作,如创建表、查询数据等。

sqlite3 test.db

6.5 写入数据

执行以下命令,写入测试数据。

CREATE TABLE example_table (id INTEGER PRIMARY KEY,name TEXT NOT NULL,age INTEGER
);INSERT INTO example_table (name, age) VALUES ('张三', 30);
INSERT INTO example_table (name, age) VALUES ('李四', 22);
INSERT INTO example_table (name, age) VALUES ('王一云', 40);
INSERT INTO example_table (name, age) VALUES ('赵三车', 38);

查询刚才插入数据,可以看到数据正常写入。

SELECT * FROM example_table;

在这里插入图片描述

当我们完成 SQLite 的会话并且确认 test.db 文件已正确创建并包含数据后,可以通过输入 .exit 来退出 SQLite 命令行界面。

 .exit

七、安装sqlite-web工具

7.1 拉取sqlite-web镜像

我们直接在docker hub仓库拉取sqlite-web镜像,镜像名称为:coleifer/sqlite-web:latest

[root@flexusx-51a1 data]# docker pull coleifer/sqlite-web:latest
latest: Pulling from coleifer/sqlite-web
48ecbb6b270e: Pull complete
692f29ee68fa: Pull complete
6439819450d1: Pull complete
3c7be240f7bf: Pull complete
ca4b349df8ed: Pull complete
ef2d243c98cf: Pull complete
260a6c14518f: Pull complete
28e32c8ef834: Pull complete
Digest: sha256:b0d4094b883ee274d2242d8e5b4173f40e56a1d137660cf78d67c87164db9490
Status: Downloaded newer image for coleifer/sqlite-web:latest
docker.io/coleifer/sqlite-web:latest

7.2 进入部署目录

我们进入/data/sqlite/目录,作为sqlite-web的部署目录。

[root@flexusx-51a1 data]# cd /data/sqlite/
[root@flexusx-51a1 sqlite]# ls
data

7.3 编辑docker-compose.yaml文件

本次使用docker compose方式部署,需要新建及编辑docker-compose.yaml文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。

vim docker-compose.yaml

services:sqlite-web:image: coleifer/sqlite-webcontainer_name: sqlite-webrestart: alwaysports:- 8700:8080volumes:- /data/sqlite/data:/dataenvironment:- SQLITE_DATABASE=test.db

7.4 创建sqlite-web容器

执行以下命令,快速创建sqlite-web容器容器。

[root@flexusx-51a1 sqlite]# docker compose up -d
[+] Running 2/2✔ Network sqlite_default  Created                                                                                                                     0.0s✔ Container sqlite-web    Started                                                                                                                     0.2s

在这里插入图片描述

7.5 查看sqlite-web容器状态

检查sqlite-web容器状态,确保sqlite-web容器正常启动。

[root@flexusx-51a1 sqlite]# docker compose ps
NAME         IMAGE                 COMMAND                  SERVICE      CREATED          STATUS          PORTS
sqlite-web   coleifer/sqlite-web   "/bin/sh -c 'sqlite_…"   sqlite-web   53 seconds ago   Up 53 seconds   0.0.0.0:8700->8080/tcp, :::8700->8080/tcp

在这里插入图片描述

7.6 查看sqlite-web容器日志

检查sqlite-web容器日志,确保sqlite-web服务正常运行。

[root@flexusx-51a1 sqlite]#  docker compose logs
sqlite-web  |  * Serving Flask app "sqlite_web.sqlite_web" (lazy loading)
sqlite-web  |  * Environment: production
sqlite-web  |    WARNING: This is a development server. Do not use it in a production deployment.
sqlite-web  |    Use a production WSGI server instead.
sqlite-web  |  * Debug mode: off
sqlite-web  |  * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)

在这里插入图片描述

八、访问sqlite-web网页

8.1 关闭防火墙与selinux

  • 关闭防火墙
 systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

8.2 Flexus云服务器X实例安全组配置

进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行8700端口。

在这里插入图片描述

8.3 访问sqlite-web初始页

浏览器访问地址:http://弹性公网IP地址:8700,将IP替换为自己服务器IP地址。在浏览器中打开 sqlite-web 主页后,页面会显示数据库的一些基本信息,包括表和索引的数量,以及数据库文件在磁盘上的大小。

在这里插入图片描述

8.4 查询数据相关操作

当我们点击之前新建的 example_table 数据表时,可以在“Structure”选项卡中查看该表的结构信息,包括列、索引、触发器及外键(如果存在)。在此界面,用户还可以执行创建、重命名或删除列和索引的操作。

在这里插入图片描述

在“Content”选项卡中,可以浏览数据表中的所有记录。通过这个界面,用户能够清晰地查看每一行数据的详细内容。

在这里插入图片描述

在“Query”选项中,我们可以执行相应的SQL语句进行查询操作。查询结果将以表格形式展示,并支持导出为 JSON 或 CSV 格式。

在这里插入图片描述

九、使用体验与总结

在华为云Flexus云服务器X实例上部署sqlite-web的过程中,我们充分体验到了华为云卓越的性能和稳定性。从创建实例到配置openEuler系统,每一步都展现出了华为云在资源管理方面的高效率。sqlite-we的安装和运行异常顺利,这得益于华为云服务器的强大计算能力和优秀的网络支持。使用sqlite-web管理SQLite数据库时,其响应速度令人印象深刻,即使是复杂查询也能快速反馈结果。简洁的Web界面让数据库操作变得更加直观简便,极大地提升了我们的工作效率。华为云Flexus云服务器X实例为我们提供了一个稳定、高效的工作平台,使数据库管理任务变得轻松愉快。


把握华为云828 B2B企业节的契机,探索Flexus X实例带来的超值优惠,体验技术与创新的无缝融合。无论是在高性能计算领域还是智能监控方面,华为云都以卓越的品质和细致的服务展现了其领先优势。选择华为云,意味着不仅仅获得了强大的技术支持,更是向着数字化未来迈进的重要一步。让我们共同携手,在华为云平台上谱写新的成功故事!


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/142956.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

画台扇-第15届蓝桥省赛Scratch中级组真题第3题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第188讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

【教程】鸿蒙ARKTS 打造数据驾驶舱---前序

鸿蒙ARKTS 打造数据驾驶舱 ​ 前面2章我介绍了如何通过定义View绘制箭头以及圆形进度,初步了解了鸿蒙如何进行自定义View。接下来我将通过我最近在带的一个VUE的项目,简单实现了几个鸿蒙原生页面。帮助大家快速上手纯血鸿蒙开发. 本项目基于Api11Stage模…

揭开GPRC5D靶点的神秘面纱,助力多发性骨髓瘤药物开发

前 言 多发性骨髓瘤属于第二大常见的血液系统恶性肿瘤,起源于骨髓造血组织的浆细胞恶性增殖。首发症状表现为非特异性,如腰疼、反复感染等,造成误诊、漏诊率较高,且难治愈易复发。目前临床上的治疗有靶向治疗、放疗、化疗、干细…

C++之继承(通俗易懂版)

前言:我们都知道C是一门支持过程化编程,面向对象的高级语言,既然是面向对象的语言,那么对于对象而言,对象会有很多中相同的属性,举个例子:你和你老师,你们都有着共同的属性和身份,例…

Linux--守护进程与会话

进程组 概念 进程组就是一个或多个进程的集合。 一个进程组可以包含多个进程。 下面我们通过一句简单的命令行来展示: 为什么会有进程组? 批量操作:进程组允许将多个进程组织在一起,形成一个逻辑上的整体。当需要对多个进程…

【关联规则】【Apriori算法】理解

关联规则学习是数据挖掘中的一种技术,用于发现大型数据库中变量间的有趣关系,特别是变量之间的有意义的关联、相关和依赖关系。这种类型的规则在零售业中特别有用,因为它可以帮助确定哪些商品经常一起购买。 关键概念 频繁项集(F…

连锁会员管理系统应该有的高级功能

会员连锁管理系统是一种专门针对连锁企业设计的会员管理软件,它可以帮助连锁企业实现跨区域、跨店铺的会员信息、消费记录和积分等的统一管理。以下分析商淘云连锁会员管理系统的主要功能。 会员信息管理:全面收集和管理会员信息,如手机号码、…

2.4 卷积1

2.4 卷积1 2.4 卷积 在了解了系统及其脉冲响应之后,人们可能会想知道是否有一种方法可以通过任何给定的输入信号(不仅仅是单位脉冲)确定系统的输出信号。卷积就是这个问题的答案,前提是系统是线性且时不变的(LTI&…

不用价位宠物空气净化器有什么区别?性价比高宠物空气净化器推荐

自新冠之后,越来越多人意识到优质空气对健康的重要性了,纷纷购置了空气净化器。不少铲屎官便关注到了“宠物空气净化器”这一专业品牌,但越后面入手宠物空气净化器的人,看到的品牌越多。整个市场那是个“蓬勃发展”。 随着消费者…

erlang学习:mnesia数据库与ets表1

Mnesia 和 ETS 都是 Erlang 提供的表管理工具,用于存储和检索数据,但它们之间有一些重要的区别和共同点。 共同点 都是Erlang提供的表存储机制:ETS 和 Mnesia 都允许你在内存中创建表,并且可以用来存储键值对或者更复杂的数据结…

高级大数据开发协会

知识星球——高级大数据开发协会 协会内容: 教你参与开源项目提供新技术学习指导提供工作遇到的疑难问题技术支持参与大数据开源软件源码提升优化以互利共赢为原则,推动大数据技术发展探讨大数据职业发展和规划共享企业实际工作经验 感兴趣的私聊我,…

我要走遍三山五岳之---嵩山

文章目录 嵩山通勤开爬总结 嵩山 2024.9.16登顶第一座五岳。 为啥第一座高山选择了嵩山呢?因为本来就是新手,想选择一个低难度的开始爬。看了小红书上的攻略,五岳的难度:华山>泰山>嵩山>衡山>恒山。 本来想选择的是…

Linux常见查看文件命令

目录 一、cat 1.1. 查看文件内容 1.2. 创建文件 1.3. 追加内容到文件 1.4. 连接文件 1.5. 显示多个文件的内容 1.6. 使用管道 1.7. 查看文件的最后几行 1.8. 使用 -n 选项显示行号 1.9. 使用 -b 选项仅显示非空行的行号 二、tac 三、less 四、more 五、head 六、…

GAMES101(10~11节,几何)

Geometry implicit隐式几何表示&#xff1a; 函数f(x,y,z)&#xff1a; 根据函数fn描述几何&#xff0c;遍历所有空间内 的点&#xff0c;如果带入xyz到函数f(x,y,z)结果0那就绘制这个点 如果xyz求值结果>0表示在几何外&#xff0c;0在表面,<0在几何内 构造几何csg(…

GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions

GIS OGC之WMTS地图服务&#xff0c;通过Capabilities XML描述文档&#xff0c;获取matrixIds&#xff0c;origin&#xff0c;计算resolutions 需求&#xff1a;如何根据WMTS服务的Capabilities描述文档得到&#xff0c;openlayers调用wmts服务时的matrixIds&#xff0c;origin…

【C++二叉树】JZ36 二叉搜索树与双向链表

二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 思路分析&#xff1a; 根据题目要求可以看出将二叉搜索树转换为排序的双向链表就是中序遍历二叉搜索树。在中序遍历的过程中将前后节点链起来即可。左指针指向前一个&#xff0c;右指针指向后一个。中序遍历是递归实现的&…

linux下的日志编写

1、日志初始化创建 2、日志写入 3、日志关闭 log.c #include "log.h"static log_t LOG;//初始化日志文件&#xff0c;在当前目录创建日志文件 int log_init(char *pdirname) {time_t t;struct tm *ptm NULL;char filepath[64] {0};int ret 0;time(&t);ptm …

资源创建方式

kubernetes支持两种创建资源的方式&#xff1a; 用kubectl命令直接创建&#xff0c;比如&#xff1a;kubectl run nginx-deployment --imagenginx1.7.9 --replicas2&#xff0c;在命令行中通过参数指定资源的属性 通过配置文件和kubectl apply创建&#xff0c;创建nginx.yml文…

Apache SeaTunnel Zeta引擎源码解析(三) Server端接收任务的执行流程

作者&#xff1a;刘乃杰 编辑整理&#xff1a;曾辉 引入 本系列文章是基于 Apache SeaTunnel 2.3.6版本&#xff0c;围绕Zeta引擎给大家介绍其任务是如何从提交到运行的全流程&#xff0c;希望通过这篇文档&#xff0c;对刚刚上手SeaTunnel的朋友提供一些帮助。 我们整体的文…

物联网行业中心跳机制的介绍以及如何实现

一 概述 心跳机制出现在TCP长连接中&#xff0c;客户端和服务端之间定时发送一种特殊的数据包通知对方还在线&#xff0c;以确保TCP连接地可靠性&#xff0c;有可能TCP连接由于某些原因&#xff08;例如网线被拔了&#xff0c;突然断电&#xff09;导致客户端断了&#xff0c;…