微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice、socket、http 、json

http://blog.csdn.net/M_123hj_520/article/category/1496389


一、

webservice是基于http协议的soap协议的封装和补充,如果你考虑公共稳定的接口,你可以努力的考虑一下。
至于socket和http、webservices是否放在一起比较和考虑
主要还是看你关心的角度,而这个角度可以是技术层面的 ,也可以是用户需求层面

1 数据传输方式
1.1 socket传输的定义和其特点
    所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有udp和tcp两个协议。socket处于网络协议的传输层。
    udp协议:广播式数据传输,不进行数据验证
    tcp协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流

socket传输的特点:
   优点
   1) 传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)
   2) 传输数据时间短,性能
   3) 适合于客户端和服务器端之间信息实时交互
   4) 可以加密,数据安全性强
   缺点:
   1) 需对传输的数据进行解析,转化成应用级的数据
   2) 对开发人员的开发水平要求高
   3) 相对于http协议传输,增加了开发量

1.2 基于http协议传输的定义和其特点

   目前基于http协议传输的主要有http协议 和基于http协议的soap协议(web service),常见的方式是 http 的post 和get 请求,web 服务。


基于http协议的传输特点
   优点:
   1) 基于应用级的接口使用方便
   2) 程序员开发水平要求不高,容错性强
   缺点:
   1) 传输速度慢,数据包大(http协议中包含辅助应用信息)

   2) 如实时交互,服务器性能压力大。

   3) 数据传输安全性差


2 各数据传输方式的适用范围
 2.1 socket传输适用范围
  基于socket传输的特点:socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等
 2.2 基于http协议传输的适用范围
  基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性
  要求不是很高,且需要快速开发的应用。如公司oa系统,互联网服务等

我觉得把socket和http、webservices等等放在一起对比不是很合适,所谓http云云的都是对socket进行了一次包装而已,后者更加底层。不过对比http和webservices的异同点的话


二、

socket和webservice都有跨平台的优点,但是:         socket偏底层,效率高,但是开发成本大。         webservice效率低,但是开发成本低廉。 webservice,基于http协议,以xml为载体的通信方式。     好处,一直观,二标准,也方便异构系统的交互。     如果想提供对外的业务访问的接口,可能需要浏览器,各种语言的客户端等各种异构系统访问,是首选。 socket,提供了TCP/IP或者udp的通信的实现,如果做标准的服务器,比如下载服务器;或者语音通信的程序,或者视频,文件传输……这些只能用socket。      单纯用socket写会很烦的,你要处理各种东西,协议的编解码等等,所以这种情况下推荐mina,netty或者grizzly。 Json,本质来说它就是javascript片段描述对象,对浏览器很有用。如果要做一个ajax的功能的话,json是最简单有效而且性能好。比如mtime的很多异步功能都是用json方式传递的。json没有什么门槛,也可以用于异构系统交互,不过如果异构系统不仅仅是浏览器,那还是选择webservice。jsonlib等库都可以直接把一个对象转为json字符串,struts2也提供了json插件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐