1 数据传输方式
1.1 socket传输的定义和其特色
所谓socket一般也称做"套接字",实现服务器和客户端之间的物理链接,并进行数据传输,主要有udp和tcp两个协议。socket处于网络协议的传输层。
udp协议:广播式数据传输,不进行数据验证
tcp协议:传输控制协议,一种面向链接的协议,给用户进程提供可靠的全双工的字节流。程序员
socket传输的特色:
优势
1) 传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)
2) 传输数据时间短,性能高
3) 适合于客户端和服务器端之间信息实时交互
4) 能够加密,数据安全性强
缺点:
1) 需对传输的数据进行解析,转化成应用级的数据
2) 对开发人员的开发水平要求高
3) 相对于http协议传输,增长了开发量web
socket传输适用范围
基于socket传输的特色 : socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等apache
1.2 基于http协议传输的定义和其特色浏览器
目前基于http协议传输的主要有http协议 和基于http协议的soap协议(web service),常见的方式是 http 的post 和get 请求,web 服务。安全
基于http协议的传输特色服务器
优势:
1) 基于应用级的接口使用方便
2) 程序员开发水平要求不高,容错性强
缺点:
1) 传输速度慢,数据包大(http协议中包含辅助应用信息)网络
2) 如实时交互,服务器性能压力大。socket
3) 数据传输安全性差tcp
基于http协议传输的适用范围
基于http协议传输的特色:基于http协议传输方式适合于对传输速度,安全性要求不是很高,且须要快速开发的应用。如公司oa系统,互联网服务等post
WebService与Socket的区别
区别1.
Socket是基于TCP/IP的传输层协议。
WebService是基于HTTP协议传输数据的,HTTP是基于TCP的应用层协议。
区别2.
WebService采用了基于HTTP的SOAP协议传输数据,接口支持面向对象,最终WebService会将对象进行序列化后经过流传输。
Socket接口直接经过流进行传输,不支持面向对象。
Socket在传输层,WebService在应用层。。http 协议基于socket,此外,web service基于http协议和soap。
【结论】
WebService采用SOAP协议进行传输,底层是基于Socket通讯的。
WebService不须要针对数据流的发送和就收进行处理,是一种跨平台的面向对象远程调用技术。
socket和webservice都有跨平台的优势,可是:
socket偏底层,效率高,可是开发成本大。
webservice效率低,可是开发成本低廉。
【Socket和WebService应用场景】
[ socket ]
socket通讯的即时性比http好。socket 是基于传输层的,http基于应用层,socket是一切经过端口通讯的基础(包括http)
Socket处因而OSI 7层协议中的第四层(传输层) Socket仅仅是传输层抽象在OS基础上的一个接口而已。
适用于传输大数据量的数据。
缺点:因为传输的数据须要手动解析,socket通讯的接口协议须要自定义,好比:自定义一种字符串拼接的格式,或者自定义的XML数据,自定义的麻烦之处在于接口调用方法和接口服务端须要相互讨论肯定接口的协议内容,不方便。
优势:适合传输大数据量的数据。
常重要的SOAP是应用层的一个协议,而SOAP一般绑定的Http协议也是第七层的一种协议。Socket效率高,但容易被防火墙屏蔽。
socket,提供了tcp/ip或者udp的通讯的实现,若是作标准的服务器,好比下载服务器;或者语音通讯的程序,或者视频,文件传输……这些只能用socket。
单纯用socket写会很烦的,你要处理各类东西,协议的编解码等等,因此这种状况下推荐mina,netty或者grizzly。
[ WebService ]
WebService遵循标准的SOAP协议,SOAP协议的内容格式固定,SOAP协议传递的内容是XML数据,因为WebService是基于HTTP的,因此简单理解SOAP=HTTP+XML,由于WebService要通过两次序列化,因此致使其传输速度慢,适用于没有性能要求且数据传输量小的场景,推荐在公开接口上使用WebService。
webservice基于HTTP协议,所以能够利用现有很是成熟的Web集群来提供高负载,同比之下 socket就很是难。
webservice离不开web服务器(apache),web服务器是一个在公网上提供http通讯的服务器.webservice 通常都创建在web服务器上,以供别人调用。
WebService效率差点,走http协议,通常不会被防火墙屏蔽。
webservice,基于http协议,以xml为载体的通讯方式。
好处:一直观,二标准,也方便异构系统的交互。
若是想提供对外的业务访问的接口,可能须要浏览器,各类语言的客户端等各类异构系统访问,是首选。
我以为把socket和http、webservices等等放在一块儿对比不是很合适,所谓http的都是对socket进行了一次包装而已,后者更加底层。