-
2019-09-08 18:50:53
什么是异步通信?
异步通信
有三种方式:
1.请求响应式发送方直接请求接收方,被请求方接收到请求后直接返回-收到请求,正在处理 返回的时候会有两种方式: 发送方时不时的轮训去查数据,查看接收方是否干没干完活是否返回数据。 发送方自己有一个回调方法,接收方处理完成后回调请求方。
2.通过发布订阅的方式
receiver订阅sender 的消息 sender会把消息放大reciver的Quee中,而reciver去在这个quee 中去拿消息
3.通过Broker的方式((ActiveMQ,SQS,rabbitMq))
送方(sender)和接收方(receiver)都互相看不到
更多相关内容 -
C51单片机的串口异步通信和同步通信的区别
2020-07-19 05:04:33在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。并行通信,即数据的各位同时传送;串行通信,即数据一位一位顺序传送。 -
通信与网络中的同步通信与异步通信的区别
2020-11-15 21:27:05数据通信可分为同步通信和异步通信两大类: 同步通信要求接收端时钟频率和发送端时钟频率一致。发送端发送连续的比特流。 异步通信时不要求接收端时钟和发送端时钟同步。发送端发送完一个字节后,可经过任意长... -
JavaScript Ajax实现异步通信
2020-11-27 04:21:17JavaScript Ajax实现异步通信 一、浏览器与服务器的同步和异步通信 1.同步:是阻塞的,浏览器在向服务器发送请求之后一直等待服务器的响应,而没有做其他事情。 2.异步:非阻塞的,浏览器向服务器发送请求之后,... -
详解C# Socket异步通信实例
2021-01-21 18:30:23TCPServer 1、使用的通讯通道:socket 2、用到的基本功能: ①Bind, ②Listen, ③BeginAccept ④EndAccept ⑤BeginReceive ⑥EndReceive 3、函数参数说明 ... Socket listener = new Socket(AddressFamily.... -
单片机串行通信基础:同步通信和异步通信
2020-08-28 21:01:09在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。并行通信,即数据的各位同时传送;串行通信,即数据一位一位顺序传送。 -
单片机串口通信与同步异步通信
2021-03-08 20:42:40文章目录一、串口通信二、异步通信三、同步通信四、串行通信的传输方向 一、串口通信 1、随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或...一、串口通信
1、随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。
2、通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。
计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换。3、可以分为两大类:并行通信与串行通信。
4、并行通信
通常是将数据字节的各位用多条数据线同时进行传送。并行通信控制简单、传输速度快,由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。
5、串行通信
串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。
串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。
二、异步通信
1、异步通信
异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。
2、异步通信的数据格式
(1)SYN:同步字符(Synchronouscharacter),每帧可加1个(单同步)或2个(双同步)同步字符。
(2)SOH:标题开始(Start of Header)。
(3)标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。
(4)STX:正文开始(Start of Text)。
(5)数据块:正文(Text),由多个字符组成。
(6)ETB:块传输结束(End of TransmissionBlock),标识本数据块结束。
(7)ETX:全文结束(End of Text ),全文分为若干块传输。
(8)校验块:对从SOH 开始,直到ETB/ETX 字段的检验码。
3、异步通信原理
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。4、异步通信的特点
本要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。三、同步通信
1、同步通信
同步通信(由一个时钟控制,用得很少,单片机是异步通信)
2、同步通信的优势
同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。四、串行通信的传输方向
1、单工
单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工
半双工是指数据传输可以沿两个方向,但需要分时进行。3、全双工
全双工是指数据可以同时进行双向传输
4、信号的调制与解调
利用调制器(Modulator):把数字信号转换成模拟信号,然后送到通信线路上去,再由解调器(Demodulator)把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置中,这就是调制解调器MODEM。5、80C51的串行口结构
-
异步通信的功能块需要几个扫描周期才能够运行?
2020-08-12 07:35:34所谓异步就意味着一个扫描周期不能够完成,那到底需要几个扫描周期才能够完成呢?它的工作原理需要几个扫描周期? -
C#基于UDP进行异步通信的方法
2021-01-01 02:04:15本文实例讲述了C#基于UDP进行异步通信的方法。分享给大家供大家参考。具体如下: 服务器端: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; ... -
c#异步通信
2018-09-25 22:48:54c#异步通信 socket网络通信,亲测代码可以运行适合初学者学习。 -
Axios异步通信.md
2021-01-25 14:33:59Axios异步通信 -
PIC单片机双机异步通信程序详解
2020-07-19 16:21:54本文为大家介绍了PIC单片机双机异步通信程序。 -
【STM32】HAL库-串口异步通信-非阻塞式接收数据
2022-05-11 16:26:53串口异步通信,开启收发方向,阻塞式发送(仿printf发送);非阻塞式接收数据。 PC13控制LED灯,LED灯的亮灭指示接收到数据。 程序初始化完成之后,开启接收中断。 在接收完成回调函数中,重新开启接收中断(因为在... -
AJAX简单异步通信实例分析
2020-10-24 11:34:22主要介绍了AJAX简单异步通信,实例分析了Ajax异步通信的技巧与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下 -
异步通信原理
2021-08-01 16:51:33目录1、 异步通信原理1.1. 观察者模式1.2. 生产者消费者模式1.3. 缓冲区1.4. 数据单元2、消息系统原理2.1. 点对点消息传递2.2. 发布订阅消息传递 1、 异步通信原理 1.1. 观察者模式 观察者模式(Observer),又叫...1、 异步通信原理
1.1. 观察者模式
- 观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe)
- 定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。
- 一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。
1.2. 生产者消费者模式
- 传统模式
- 生产者直接将消息传递给指定的消费者
- 耦合性特别高,当生产者或者消费者发生变化,都需要重写业务逻辑
- 生产者消费者模式
- **通过一个容器来解决生产者和消费者的强耦合问题。**生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯
- 数据传递流程
- 生产者消费者模式,即N个线程进行生产,同时N个线程进行消费,两种角色通过内存缓冲区进行通信。
- 生产者负责向缓冲区里面添加数据单元
- 消费者负责从缓冲区里面取出数据单元
- 一般遵循先进先出的原则
1.3. 缓冲区
- 解耦
- 假设生产者和消费者分别是两个类。如果让生产者直接调用消费者的某个方法,那么生产者对于消费者就会产生依赖
- 支持并发
- 生产者直接调用消费者的某个方法过程中函数调用是同步的 。
- 万一消费者处理数据很慢,生产者就会白白糟蹋大好时光
- 支持忙闲不均
- 缓冲区还有另一个好处。如果制造数据的速度时快时慢,缓冲区的好处就体现出来了。
- 当数据制造快的时候,消费者来不及处理,未处理的数据可以暂时存在缓冲区中。
- 等生产者的制造速度慢下来,消费者再慢慢处理掉。
1.4. 数据单元
- 关联到业务对象
- 数据单元必须关联到某种业务对象
- 完整性
- 就是在传输过程中,要保证该数据单元的完整
- 独立性
- 就是各个数据单元之间没有互相依赖
- 某个数据单元传输失败不应该影响已经完成传输的单元;也不应该影响尚未传输的单元。
- 颗粒度
- 数据单元需要关联到某种业务对象。那么数据单元和业务对象应该处于的关系(一对一?一对 多)
- 如果颗粒度过小会增加数据传输的次数
- 如果颗粒度过大会增加单个数据传输的时间,影响后期消费
2、消息系统原理
一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个 或多个应用间是如何传递的。
2.1. 点对点消息传递
- 在点对点消息系统中,消息持久化到一个队列中。此时,将有一个或多个消费者消费队列中的数据。但是一条消息只能被消费一次。
- 当一个消费者消费了队列中的某条数据之后,该条数据则从消息队列中删除。
- 该模式即使有多个消费者同时消费数据,也能保证数据处理的顺序。
- 基于推送模型的消息系统,由消息代理记录消费状态。
2.2. 发布订阅消息传递
- 在发布-订阅消息系统中,消息被持久化到一个topic中。
- 消费者可以订阅一个或多个topic,消费者可以消费该topic中所有的数据,同一条数据可以被多个消费者消费,数据被消费后不会立马删除。
- 在发布-订阅消息系统中,消息的生产者称为发布者,消费者称为订阅者。
- Kafka 采取拉取模型(Poll),由自己控制消费速度,消费者可以按照任意的偏移量进行消费。
-
深入理解Android中的Handler异步通信机制
2020-09-02 16:29:17主要介绍了Android中的Handler异步通信机制,文中举了两个例子介绍了Handler里面实用的API中的方法,需要的朋友可以参考下 -
Python网络编程使用select实现socket全双工异步通信功能示例
2020-09-20 15:54:47主要介绍了Python网络编程使用select实现socket全双工异步通信功能,简单说明了select模块的功能及socket全双工异步通信功能的相关实现技巧,需要的朋友可以参考下 -
C# TCP 异步通信
2019-04-30 14:39:09C#实现异步TCP 通信,含服务端和客户端,很好的一个范例。 -
同步通信和异步通信
2021-07-09 11:41:12这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。 采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息...同步通信原理
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。
同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
异步通信原理
异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
同步通信与异步通信区别:
1、同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
2、同步通信效率高;异步通信效率较低。
3、同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
4、同步通信可用于点对多点;异步通信只适用于点对点。
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步是阻塞模式,异步是非阻塞模式。
其中SPI IIC为同步通信 UART为异步通信
异步通信-是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来
同步通信-通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信是把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志。
在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。
1、异步串行方式的特点
所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为:
①以字符为单位传送信息。
②相邻两字符间的间隔是任意长。
③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以。
④异步方式特点简单的说就是:字符间异步,字符内部各位同步。
异步位系统是面向字符来传输信息的,也就是我们一般情况下的一个字符,8位,1bit,当然了传输的时候还要加上起始位和结束位,没有这两位接收方就不知道什么时候开始接收数据什么时候结束了。如此一来字符与字符之间就不是连着的,打个比喻,就像秋天的叶子一样,一片一片往下落。发送方和接收方不要求同步,就是说你想什么时候落就什么时候落,我都接着,用不着先通知我
2、异步串行方式的数据格式
异步串行通信的数据格式如图8-1所示,每个字符(每帧信息)由4个部分组成:
①1位起始位,规定为低电0;
②5~8位数据位,即要传送的有效信息;
③1位奇偶校验位;
④1~2位停止位,规定为高电平1。
图1 异步串行数据格式
3、同步串行方式的特点
所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为:
①以数据块为单位传送信息。
②在一个数据块(信息帧)内,字符与字符间无间隔。
③因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。
同步位系统就不同了,他要求发送方与接收方严格的同步,二者波特率要相同。
同步位系统传输的什么呢,不是字符,是字符组合,也就是帧,我们在OSI数据链路层可以学习到。帧的长度没有规定,传输的时候视情况而定吧。这个帧里面包含了同步信息,来通知接收方调整以同步。这里再打个比喻,前面我们说异步位系统传输的数据像树叶,那么同步位系统传输的就像是把这些树叶串成一串,是连续的。
4、同步串行方式的数据格式
同步串行通信的数据格式如图8-2所示,每个数据块(信息帧)由3个部分组成:
①2个同步字符作为一个数据块(信息帧)的起始标志;
②n个连续传送的数据
③2个字节循环冗余校验码(CRC)
图2 同步串行数据格式
5.用途:
同步串行:通信网中,有大批量数据需要传输
异步串行:应用于在工业、实际应用中。适用于短距离、速率不高的情况下。
同步位系统比异步位系统要实用高效。这个比较好理解,计算机对帧的处理比对字符要少的多,在传送相同大小的数据量的时候,计算机要对大量的字符进行开始与结束操作,帧则要少的多。同时同步位系统的下的网络效率也更高,因为每个字符都至少包含两位的开始结束信息,这个在数据量大的时候开销是很客观的。
时钟在通信中的作用就是在数据收发时起协调作用的,异步时钟用到比较少,同步时钟肯定会用到。
-
论文研究-Web异步通信研究与应用 .pdf
2019-08-17 12:14:33Web异步通信研究与应用,金日男,,传统的Web数据提交是以整个表单为单位的也就是与服务器的同步通信,这种通信方式存在一个明显的缺陷就是当用户提交Web表单时往往出 -
嵌入式系统/ARM技术中的基于PIC软件设计串行异步通信三倍速采样方法
2020-11-07 02:28:42在利用单片机开发各种嵌入式应用系统时,异步串行通信是常用的一种通信模式,有的应用中还要求实现多路异步串行通信。人们平时所应用的各种厂商的单片机,绝大部分片上只提供一个UART(通用异步收发器)硬件模块,利用... -
OPC 异步通信 C#示例源码.zip
2022-02-13 20:30:07资源名:OPC 异步通信 C#示例源码.zip 资源类型:程序源代码 源码说明: 包括OPC 组件opcrcw.comn.dll opcrcw.da.dll 和OPC ASYNC 应用于工业自动化PLC领域 包含完整代码和注释 很适合借鉴学习 适合人群:新手及有... -
MFC版TCP异步通信通信程序—VS2010版
2019-08-11 18:14:06我用VS2010 MFC和原始socket函数 制作的TCP异步通信对话框程序,并且说明文件中含有制作视频的网址,对初学者有很好的参考价值。 -
C#中异步Socket通信编程代码实例
2020-12-26 06:36:01所谓Socket编程的异步实现是指按照异步过程来实现Socket编程,那么什么是异步过程呢,我们把在完成了一次调用后通过状态、通知和回调来告知调用者的方式成为异步过程,换句话说,在异步过程中当调用一个方法时,调用... -
基于BoostAsio的异步通信Demo
2018-06-05 16:08:33很简单的异步通信例子,实现了Server端接收客户端信息。 -
C# Socket异步通信+事件与委托+通信程序与界面分离
2018-07-31 18:23:47利用C#语言实现Socket异步通信,并利用事件与委托实现消息的传递,同时通信功能与界面处理功能分离处理。利于学习异步通信、委托和事件。 -
Android 异步通信.zip
2021-04-10 09:53:21Android 异步通信.zip -
Linux异步通信socket
2013-01-02 10:25:13Linux异步通信socket.