webservice、socket、http 、json
http://blog.csdn.net/M_123hj_520/article/category/1496389 一、 webservice是基于http协议的soap协议的封装和补充,如果你考虑公共稳定的接口,你可以努力的考虑一下。 ? ?目前基于http协议传输的主要有http协议 和基于http协议的soap协议(web service),常见的方式是 http 的post 和get 请求,web 服务。 ? ?优点: ? ?1) 基于应用级的接口使用方便 ? ?2) 程序员开发水平要求不高,容错性强 ? ?缺点: ? ?1) 传输速度慢,数据包大(http协议中包含辅助应用信息) ? ?2) 如实时交互,服务器性能压力大。 ? ?3) 数据传输安全性差 ?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插件, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |