网站首页 > 技术文章 正文
每次做项目总是会涉及到服务器与下位机之间的通讯,往往会涉及到客户端、服务器、前端、后台、下位机这些概念,对于做电子研发的初级工程师来说,往往会理不清这些概念,所以这篇文章打算简单的介绍下这些术语,分析他们之间的关系。另外,这篇文章作为自己的一篇技术笔记,仅供参考,如有错误之处,还望指正。
客户端:可以向服务器发起请求的一方叫做客户端,比如一款APP
服务端:顾名思义,能够响应客户端请求的一方叫做服务器,比如云服务器
前端:与用户进行直接交互的网页或者界面
后台:能够对数据进行管理的模块,比如数据库系统
下位机:属于被动控制的一方,往往是某一设备,与上位机概念对应
上位机:主动控制的一方叫做上位机,比如APP或者一款PC机上运行的软件
虽然介绍完这些概念,但感觉还是比较抽象,那么它们之间到底是如何联系的呢?下面以一个具体的案例进行分析。
案例:现在电影院大多都有“娃娃机”这样的设备,用户扫码登录后可以通过手机界面按下“开机”指令,然后就成功开启一台设备,用户可以操作“已开启”的设备抓取“娃娃”。
在以上案例中,主要流程:
1.首先用户通过手机界面按下开机指令,然后客户端将指令作为一个“开机请求”发 送给服务器。
2.服务器通过接收解析得到请求内容后,会去调用后台CGI程序对数据库进行操作,比如会先访问数据库,查询当前设备的状态,然后在状态“合法”的情况下发送开机指令给下位机,下位机执行并且将执行结果返回,这个查询操作是后台程序完成的,不是服务器执行的,只不过后台程序在操作完成后会将处理结果返回给服务器。
3.服务器在接收到CGI程序返回的处理结果(成功或失败)后,再将结果返回给客户端,客户端再将结果显示在前端界面。
以上是整个操作的大体流程,在这个流程中,手机界面就是“前端”,用户通过前端页面发起开机请求,那么这个请求是谁发出去的呢?是客户端。发给谁呢?是服务端。服务端接收到请求后会自己处理请求吗?不不不,不会,它会调用一个后台程序去处理请求,然后等待后台程序将结果返回,比如它调用一个exe程序对数据库进行状态查询操作并且执行开机指令,然后这个exe程序将处理结果返回给服务器,服务器再将结果返回给客户端。这个exe程序就是后台程序了,通常也会用php去实现对数据库的操作(增删改查)。或许有人会问,为什么服务器自己不能处理请求,反而会调用一个后台程序去操作呢?这不多此一举吗?你想,服务器它会只与一个客户端通讯吗?肯定不是,服务端往往需要快速并且“同时”响应多个客户端请求,这就要求它不能为某一个请求花费太多时间,如果每个客户端请求都要服务器去处理,那么服务器的延时可想而知。通常服务器会开启“多线程”模式,在线程中调用后台程序去处理请求,然后后台程序将处理结果返回。以上介绍了前端、客户端、服务器、后台这些对象之间的关系,那么我们一直谈论的下位机呢?下位机在整个系统中处于什么位置?如果从控制方和被控制方来说,前面所说的客户端可以理解为上位机,就是控制方,那么下位机就是被控制方,比如这个案例中的“娃娃机”。下位机往往需要与服务器通讯,并且可以受控地完成一系列动作,比如“开机动作”或者在本案例中受手柄控制做出相应动作。下位机的设计往往会包含硬件电路设计和单片机软件编程。下位机与服务器之间通讯可以采用TCP协议(工作在传输层),数据透传模式,而客户端与服务器通讯会采用应用层协议,比如HTTP,HTTPS或者Websocket。
好了,以上就是关于前端、客户端、服务器、后台、上位机、下位机的一些基本概念和它们之间关系。
猜你喜欢
- 2024-09-27 有趣的事情要一做啦,那就来看看前端和后端有哪些区别趴?
- 2024-09-27 前端与后端该怎么选择? 前端和后端哪个更厉害
- 2024-09-27 学前端开发还要会后端吗 区别主要包括哪些方面
- 2024-09-27 不了解前端和后台的区别?看完这张图你就明白啦
你 发表评论:
欢迎- 05-30为什么说网上的md5加密解密站都是通过彩虹表解密的?
- 05-30一文读懂md5,md5有什么用,什么是md5加盐
- 05-30Java md5加密解密数据
- 05-30MD5是什么?如何进行MD5校验?
- 05-30专家教你简单又轻松的MD5解密方法,一看就会
- 05-30多学习才能多赚钱之:vscode怎么安装插件
- 05-30VSCode无限画布模式(可能会惊艳到你的一个小功能)
- 05-30VSCode神级Ai插件Cline:从安装到实战【创建微信小程序扫雷】
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)