网站首页 > java教程 正文
数据通信方式指通信双方在信号发送、传输和接收这3个环节对信号的处理方式,下面将对不同的信号处理方式进行讲解。
1. 单工、半双工与全双工通信
按信道上信号的传输方向与时间的关系,通信方式可分为单工通信、半双工通信与全双工通信。
(1) 单工通信
单工通信指在任一时刻,信号只能由通信双方中的端发往另一端,在信道上单向传输。此种方式中信道两端节点的功能固定,发送方只能发送数据,不能接收数据;接收方只能接收数据不能发送数据,如下图所示。
(2) 半双工通信
管日半双工通信指通信双方均可进行数据发送与接收,但不能同时具备两种功能。在同一时刻,信号只能从一端发向另一端,若要改变信号传输方向,需进行线路切换,如下图所示。
(3) 全双工通信
全双工通信指通信双方在任何时刻均可发送和接收数据。全双工通信中使用两条信道,其中一条信道用于发送数据,一条信道用于接收数据,如下图所示。
2. 串行通信与并行通信
按照传输信息时信息与所用信道数量的关系,可将通信方式分为串行通信与并行通信。
(1) 串行通信
计算机中信息的最小单位是位(bit),若将待传送数据按位依次传输,则称使用串行方式进行通信,如下图所示。
使用传统方式进行通信时,收、发双方仅需建立一条信道, 成本低,结构简单,但其缺点是数据传输速率较低,此种通信方式一般应用于远程数据通信中。
(2) 并行通信
并行通信指将数据分组后,以组为单位在多个并行信道上同时传输数据,组内的每位数据占用一条信道。计算机中的8位二进制代码表示一个字符,假设每次传输8个比特,则串行通信如下图所示。
并行通信方式传输效率高,但需要搭建多条信道,成本也随之增高,因此一般用于近距离高速通信中。
3. 同步通信
同步是通信中必须考虑的重要问题,同步问题要求收发双方在时间基准上保持定的相对关系,只有保持同步,收发双方的数据才能一致。计算机中实现同步的方式有异步通信和同步通信两种。
(1) 异步通信
异步通信的原理是:在每个表示字符的二进制码段前添加一个起始位,表示字符二进制码的开始,在字符的二进制码段后添加一个或两个终止位,表示字符二进制码的结束;相应地接收方可根据起始位和终止位判断一个字符的二进制码段的开始和结束,从而实现数据的同步。如下图所示。
(2) 同步通信
同步通信方式中不必为每个字符码添加起始位和终止位,而是在每次发送数据前,先发送一个同步字节,使双方建立同步关系,之后在同步关系下逐位发送/接收数据,到数据发送完毕再次发送同步字节终止通信。具体如下图所示。
异步通信将每个字符作为一个单位,为字符添加起始位和终止位,实现比较简单,但标志位所占比重较大,更适合低速通信;同步通信将待发送数据作为一个整体,附加位所占比重较小,适合高速通信。
猜你喜欢
- 2024-12-30 阿里一面:如何用基于Java配置的方式配置Spring?
- 2024-12-30 Java小白学习方法以及Java学习路线,最终完成分布式项目开发
- 2024-12-30 【Java基础】Java中方法的定义和调用
- 2024-12-30 Java方法定义和调用 java中定义方法和调用方法
- 2024-12-30 探秘Java接口中的默认方法 探秘java接口中的默认方法有哪些
- 2024-12-30 漫话:详解Java的main方法 java main方法
- 2024-12-30 Java方法全解析:让你的代码高效优雅,快速学会方法的定义和调用
- 2024-12-30 探索 Java 中的类和主方法 java的类方法和实例方法
- 2024-12-30 Java方法两千行!有更长的吗? java方法一般不超过多少行
- 2024-12-30 一种简单快捷的 java 热部署方式 jar热部署
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)