数据传输方式

本文摘自原文:https://www.cnblogs.com/111testing/p/6581062.html

 

1、socket

        定义:socket也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输。

        协议:主要有udp和tcp两个协议,处于网络协议的传输层。

        优点:1) 传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)。
                   2) 传输数据时间短,性能高。
                   3) 适合于客户端和服务器端之间信息实时交互。
                   4) 可以加密,数据安全性强。

        缺点: 1) 需对传输的数据进行解析,转化成应用级的数据。
                    2) 对开发人员的开发水平要求高。
                    3) 相对于http协议传输,增加了开发量。

        适用范围:socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等。

 

2、http

        定义:常见于B/S架构前后台数据交互,常见的方式是 http 的 post 和 get 请求。

        协议:基于http,处于网络协议的应用层。

        优点:  1) 基于应用级的接口使用方便。
                     2) 程序员开发水平要求不高,容错性强。

        缺点:  1) 传输速度慢,数据包大(http协议中包含辅助应用信息)。
                     2) 如实时交互,服务器性能压力大。
                     3) 数据传输安全性差。

        适用范围:基于http协议传输方式适合于对传输速度,安全性要求不是很高,且需要快速开发的应用。如公司oa系统,互联网服务等。

 

3、WebService

        定义:采用SOAP协议的通信标准,SOAP协议基于XML语言,采用 http 传输通信(简单讲 WebService = http + xml)。注意:WebService并非通信协议,而是跨编程语言和跨操作系统的远程接口调用(RPC)的框架技术,是服务端技术。

        协议:采用SOAP协议,基于http,处于网络协议的应用层。

        优点:  1) 不需要针对数据流的发送和接收进行处理,是一种跨平台的面向对象远程调用技术。
                     2) 接口支持面向对象,WebService会将对象进行序列化后通过流传输。
                     3) 走http协议,一般不会被防火墙屏蔽。

        缺点:  1) WebService要经过两次序列化,所以导致其传输速度慢。
                     2) 其余同http缺点一样。

        适用范围:WebService不需要针对数据流的发送和就收进行处理,是一种跨平台的面向对象远程调用技术。

 

4、WebSocket

定义:WebSocket是HTML5出的东西(协议),它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端,采用握手机制,取代了网页和服务器采用HTTP轮询进行双向通讯的机制。

(弄懂WebSocket看这篇文章: https://www.cnblogs.com/fuqiang88/p/5956363.html

        协议:采用http协议完成握手,采用WebSocket协议进行数据传输,应用层协议。

        优点:  1) 支持双向通信,实时性更强。
                     2) 更好的二进制支持。
                     3) 更小的控制开销,一次连接,多次传输。

        缺点:  1) 不兼容低版本的IE。

        适用范围:适用于即时通信,社交订阅,协同编辑,视频会议,基于位置的应用,在线教育,智能家居。

 

总结:http 协议都是对 socket 的再一次封装,socket 是基于传输层的,所以socket 通信的即时性比http好,适合传输大数据量的数据,但是开发成本高,相较于http 难度更大。 http 数据传输需要服务器支撑,开发难度小,适用于 B/S 架构。 WebService 基于http,采用 XML的形式,跨平台行更好,兼容性更强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值