通信协议

java技术--通讯协议

匿名 (未验证) 提交于 2019-12-02 21:52:03
1.指双方实体完成通信或服务所必须遵循的规则和约定 2.它们之间必须具有共同的语言 3.交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则,这个规则就是通信协议 4.简单地理解为各计算机之间进行相互会话所使用的共同语言 5.工业常用的仪表通信协议主要有3种 ( 1 ) modbus 通信协议:侧重于软件系统,支持 RS232 , RS485 ( 2 ) RS232 通信协议:侧重于硬件 ( 3 ) RS485 通信协议:侧重于硬件 6.通信协议数据格式 (1)modbus通信协议数据格式:(功能码:读、写) 设备地址+功能码+数据起始位+要读取的数据总个数 (2)两通信设备参数必须一致 参数包括:波特率,数据位,验校位等 来源:51CTO 作者: 梦断若水 链接:https://blog.csdn.net/qq591009234/article/details/100161013

redis之通信协议

寵の児 提交于 2019-12-02 18:31:05
Redis 协议将传输的结构数据分为 5 种最小单元类型,单元结束时统一加上回车换行符号\r\n。 1、单行字符串 以 + 符号开头。 2、多行字符串 以 $ 符号开头,后跟字符串长度。 3、整数值 以 : 符号开头,后跟整数的字符串形式。 4、错误消息 以 - 符号开头。 5、数组 以 * 号开头,后跟数组的长度。 单行字符串 hello world +hello world\r\n 多行字符串 hello world $11\r\nhello world\r\n 多行字符串当然也可以表示单行字符串。 整数 1024 :1024\r\n 错误 参数类型错误 -WRONGTYPE Operation against a key holding the wrong kind of value 数组 [1,2,3] *3\r\n:1\r\n:2\r\n:3\r\n NULL 用多行字符串表示,不过长度要写成-1。 $-1\r\n 空串 用多行字符串表示,长度填 0。 $0\r\n\r\n 注意这里有两个\r\n。为什么是两个? 因为两个\r\n 之间,隔的是空串。 客户端 -> 服务器 客户端向服务器发送的指令只有一种格式,多行字符串数组。比如一个简单的 set 指令 set author codehole 会被序列化成下面的字符串。 *3\r\n$3\r\nset\r\n$6\r

RS485 MODBUS RTU通信协议

喜欢而已 提交于 2019-12-02 10:35:59
RS485 MODBUS RTU通信协议 1、RS485接口标准 RS485由RS232和RS422发展而来,弥补了抗干扰能力差、通信距离短、速率低的缺点,增加了多点、双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。 RS485可以采用二线和四线两种方式,二线制可以实现真正的多点双向通信。其主要特点如下: (1)RS485的接口信号电平比RS231-C低,不易损坏接口电路的芯片,且该电平与TTL电平兼容,方便于TTL电路相连接。 (2)RS485的数据最高传输速率为10Mbps。其平衡双绞线的长度与传输速率呈反比,在100kbps速率下,才可能使用规定的最长电缆长度,只有在很短的距离下才能获得最高传输速率。 (3)RS485接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声干扰性好,因而通信距离远,最大传输距离大约为1200m,实际可达3000m。 (4)RS485接口在总线上允许连接多达128个收发器,既具有多站能力。同时需要两个终端电阻,其阻值要求等于传输电缆的特性阻抗。在短距离300m内传输时可不连接终端电阻。 2、MODBUS RTU协议 该协议已经成为通用工业标准,通过协议,控制器与控制器、控制器通过网络(以太网)与其他设备之间可以实现串行通信。RTU即远程终端单元

关于存储设备尺寸、接口和协议常见的组合方式

旧街凉风 提交于 2019-12-02 04:56:27
关于存储的概念 尺寸外形 也就是设备的形状和大小,通常存储设备的尺寸外形包括如下: 2.5寸或者3.5寸驱动器 (在SFF标准中定义) M.2 和 PCI Express(PCIe) (在PCI-SIG标准中定义) 接口 也 就是设备如何与计算机通信。常见的存储设备接口包括: SATA接口 ,通常用于2.5寸和3.5寸硬盘,有时候一些M.2设备也会使用PCI Express(PCIe)接口。 用于 M.2和PCIe设备SAS(串行SCSI)和FC(Fibre Channel)接口 ,仅用于服务器领域和数据中心 PCIe接口要比SATA接口快的多,SATA3最大带宽是6Gb/s,而基于4X PCIe的M.2接口最大可以达到32Gb/s。 协议 定义了如何在计算机与设备之间传输数据。常见的协议包括: 用于 SATA接口的AHCI或者ATA协议 ,用于 PCIe接口的NVMe协议 NVMe是运行在某种接口上的通信协议,用于规范计算机与存储设备的数据传输。 集中组合形式 SATA接口的SSD 一个2.5寸SSD硬盘,基于SATA接口,通信协议是AHCI或者ATA。 M.2的SSD 一个M.2的SSD, 基于PCIe接口,通信协议是NVMe。 PCIe的SSD 一个PCIe的SSD,基于PCIe接口,通信协议是NVMe。 来源: https://www.cnblogs.com/cainiao

深入WebSocket通信协议细节

主宰稳场 提交于 2019-12-01 03:16:36
传统“长轮询”实现Web端即时通讯的问题 WebSocket出现之前,Web端为了实现即时通讯,所用的技术都是Ajax轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求,然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。 而比较新的技术去做轮询的效果是Comet , 但这种技术虽然可达到全双工通信,依然需要发出请求。 WebSocket 技术概览 在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送,改变了原有的B/S模式。 WebSocket技术应用的典型架构: WebSocket的技术原理: 浏览器端的websocket 发起的请求一般是: // javacsript var ws = new WebSocket("ws://127.0.0.1:4000"); ws.onopen = function(){ console.log("succeed"); }; ws.onerror = function(){ console

iic通信协议是什么

谁说胖子不能爱 提交于 2019-11-30 13:32:43
iic通信协议是什么   IIC协议是二线制,信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上拉电阻到VCC,具体的电阻值影响的是信号反应速度和驱动能力。   首先,IIC通信与UART,还有SPI统称为串行接口通信,不过它们之间还是有区别的,如UART的负电平逻辑,还有UART通信不需要时钟,只需要特定的波特率即可,SPI与IIC都可以有一个主机,多个从机的情况,不过IIC适用于短距离传输,如片间通信,摄像头的配置等场景。   要搞定IIC首先来看IIC的硬件接口:      如图所示,我们知道IIC一个主机可以悬挂多个从机,所以地址线A2,A1,A0 可以实行片选的功能,那么WP这个引脚的功能就是当WP悬空或者接地的时候,表示这时的EEPROM既可以读,也可以写,当WP接电源时,则只可以读而不能写。   SCL与SDL这两个引脚,必须上拉,否则驱动能力不够,无法进行正常的IIC通信。   OK,硬件接口已经介绍清楚了,那么我们现在开始来看协议了。   首先IIC分为字节读写和页面读写,首先来看字节读写的协议:      如上图所示,如果我们要向EEPROM中写入一个字节的数据,得有如下几个步骤:   1.开始信号——在SCLK的高电平器件,拉低SDA的信号(由1 变为0)。   2.控制字节——即器件地址,就是你操作那一块EEPROM。   3.ACK信号—

zz 远程通信协议

大兔子大兔子 提交于 2019-11-29 21:10:41
https://www.jianshu.com/p/61714f90c061 在分布式架构中,有一个很重要的环节,就是分布式网络中的计算机节点彼此之间需要通信。 HTTP 协议通信原理 说到通信,大家一定听过 tcp 和 udp 这两种通信协议,以及建立连接的握手过程。而 http 协议的通信是基于 tcp/ip 协议之上的一个应用层协议,应用层协议除了 http 还有哪些呢(FTP、DNS、SMTP、Telnet 等)。 涉及到网络协议,我们一定需要知道 OSI 七层网络模型和 TCP/IP 四层概念模型,OSI 七层网络模型包含(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)、TCP/IP 四层概念模型包含(应用层、传输层、网络层、数据链路层)。 image.png 请求发起过程,在 tcp/ip 四层网络模型中所做的事情 当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息) image.png 客户端如何找到目标服务 在客户端发起请求的时候,我们会在数据链路层去组装目标机器的 MAC 地址,目标机器的mac 地址怎么得到呢? 这里就涉及到一个 ARP 协议,这个协议简单来说就是已知目标机器的 ip,需要获得目标机器的 mac 地址。

dubbo面试题收集

会有一股神秘感。 提交于 2019-11-29 09:43:21
1、 Dubbo与DubboX区别 2、 Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么? 3、 Dubbo中有哪些角色? 4、 Dubbo在安全机制方面是如何解决的 5、 Dubbo执行流程? 6、 Dubbo支持的协议有哪些? 7、 Dubbo支持的注册中心有哪些? 8、 dubbo服务负载均衡策略? 9、 dubbo核心的配置有哪些?dubbo推荐用什么协议? 10、 dubbo连接注册中心和直连的区别 11、 dubbo通信协议dubbo协议为什么不能传大包 12、 dubbo通信协议dubbo协议为什么要消费者比提供者个数多 13、 dubbo通信协议dubbo协议为什么采用异步单一长连接 14、 dubbo通信协议dubbo协议适用范围和适用场景 15、 Spring Cloud与Dubbo的区别是什么? 16、 什么是Dubbo? 17、 简述Dubbo的均衡策略和集群容错模式 来源: https://blog.csdn.net/u010405836/article/details/90246854

USB通信协议深入理解

半腔热情 提交于 2019-11-28 05:21:00
0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 1. 包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。帧的起始由一个特定的包(SOF 包)表示,帧尾为 EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。 注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,但是SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,因此其帧编号的增加周期也为 1mS USB总线上的情形是怎样的? 包是USB总线上数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输由一次到多次事务传输构成,可以跨帧完成。

IIC通信协议

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-26 13:29:14
本文仅作为学习笔记 IIC协议: 和URAT的RXD、TXD一样,IIC也是由两根线构成: 一根SCL(时钟线)、一根SDA(数据线) 总线(无数据收发的情况)空闲状态,SCL和SDA为高电平 IIC一个写数据需要:启动信号——发送地址——发送数据——结束信号 起始和结束信号产生条件:总线在空闲状态时,SCL和SDA都保持着高电平,当SCL为高电平而SDA由高到低的跳变,表示产生一个起始条件,开始进行IIC传输;当SCL为高而SDA由低到高的跳变,表示产生一个停止条件,结束IIC传输。 在起始条件产生后,总线处于忙状态,由本次数据传输的主从设备独占,其他I2C器件无法访问总线;而在停止条件产生后,本次数据传输的主从设备将释放总线,总线再次处于空闲状态。 起始和结束如图所示 : 在了解起始条件和停止条件后,我们再来看看在这个过程中数据的传输是如何进行的。前面我们已经提到过,数据传输以字节为单位。主设备在SCL线上产生每个时钟脉冲的过程中将在SDA线上传输一个数据位,当一个字节按数据位从高位到低位的顺序传输完后,紧接着从设备将拉低SDA线,回传给主设备一个应答位, 此时才认为一个字节真正的被传输完成。当然,并不是所有的字节传输都必须有一个应答位,比如:当从设备不能再接收主设备发送的数据时,从设备将回传一个否 定应答位。数据传输的过程如图所示: 在前面我们还提到过