MQTT
MQTT 协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:
HTTP
HTTP 是一个属于应用层的,基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
通信方式
若 connection 模式为 close,则服务器会主动关闭 TCP 连接,客户端被动关闭连接,释放 TCP 连接;若 connection 模式为 keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求; 不足:
HTTP 通信方式问题,HTTP 的请求/应答方式的会话都是客户端发起的,缺乏服务器通知客户端的机制,在需要通知的场景,如聊天室,游戏,客户端应用需要不断地轮询服务器。
Websocket 协议(非 socket)
WebService:RPC 框架的一种
XML+XSD,SOAP 和 WSDL 就是构成 WebService 平台的三大技术。
1)XML+XSD
1.1)WebService 采用 HTTP 协议传输数据,采用 XML 格式封装数据(即 XML 中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的 返回结果是什么)。XML 是 WebService 平台中表示数据的格式。除了易于建立和易于分析外,XML 主要的优点在于它既是平台无关的,又是厂商无关 的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。
1.2)XML 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16 位,32 位,64 位?这 些细节对实现互操作性很重要。XML Schema(XSD) 就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService 平台就 是用 XSD 来作为其数据类型系统的。当你用某种语言 (如 VB.NET 或 C#) 来构造一个 Web service 时,为了符合 WebService 标准,所 有你使用的数据类型都必须被转换为 XSD 类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。
2)SOAP
2.1)WebService 通过 HTTP 协议发送请求和接收结果时,发送的请求内容和结果内容都采用 XML 格式封装,并增加了一些特定的 HTTP 消息头,以说明 HTTP 消息的内容格式,这些特定的 HTTP 消息头和 XML 内容格式就是 SOAP 协议。SOAP 提供了标准的 RPC 方法来调用 Web Service。
2.2)SOAP 协议 = HTTP 协议 + XML 数据格式
SOAP 协议定义了 SOAP 消息的格式,SOAP 协议是基于 HTTP 协议的,SOAP 也是基于 XML 和 XSD 的,XML 是 SOAP 的数据编码方式。打个比 喻:HTTP 就是普通公路,XML 就是中间的绿色隔离带和两边的防护栏,SOAP 就是普通公路经过加隔离带和防护栏改造过的高速公路。
3)WSDL
原文链接:https://blog.csdn.net/wzhqazcscs/article/details/79603261