json/socket/ws的差异
来源:互联网 发布:katana软件 编辑:程序博客网 时间:2024/05/16 10:15
觉得这篇帖子,有很多借鉴价值
引用:http://flashing.iteye.com/blog/486473
看到有位童鞋问到json/socket/ws的差异,似乎面试被问到的,就作答了一下。
ws是基于http协议的(当然JAX-WS貌似认为ftp之类的也可以?)以xml为载体的通信方式。
ws的好处是第一是直观(xml吗!),第二是标准(貌似ms从2002年就开始力推了),当然
也方便了异构系统的交互。如果你想提供对外的业务访问的接口,可能需要浏览器,各种语
言的客户端等各种异构系统访问,ws是首选。简单的例子比如你提供个天气预报服务。
java里面首选cxf。
如果说http和ftp是语言,socket顶多算发音。基于socket的编程为你提供了tcp/ip或者
udp的通信的实现;如果你做标准的服务器,比如下载服务器;或者语音通信的程序,或者
视频,文件传输……这些只能用socket。当然单纯用socket写会很烦的,你要处理各种东西
,协议的编解码等等,所以这种情况下推荐mina,netty或者grizzly。
json是个很不错的玩意,本质来说它就是javascript片段描述的对象。说到这里各位聪明的
弟弟妹妹们肯定明白,它应该对浏览器很有用。是的!如果你要做一个ajax的功能的话,
json是最简单有效而且性能灰藏好!比如mtime的很多异步功能都是用json方式传递的。
json好在没有什么门槛,也可以用于异构系统交互,不过如果异构系统不仅仅是浏览器,那
你还是选择ws吧。jsonlib等库都可以直接把一个对象转为json字符串,struts2也提供了
json插件,2.1.8以后是内置插件了。
说点题外话,个人认为ws就是个政治妥协的产物。话说当年ice的作者对此很不屑,认为是
个骗局……不过到底ws是立足了,我们只能干瞪眼。
JAX-WS:http://baike.baidu.com/view/1865210.htm
CXF:http://baike.baidu.com/view/2742297.htm
- json/socket/ws的差异
- 基于传输层差异的Socket分类
- socket关闭: close()和shutdown()的差异
- 基于传输层差异的Socket分类
- WSS4J 1.5和1.6中实现WS Security的Merlin配置上的差异以及其它
- socket 、webservices、Json的区别
- socket 、webservices、Json的区别
- socket 、webservices、Json的区别
- Socket监听在不同操作系统下的差异
- socket关闭之close()和shutdown()的差异
- socket在linux和windows下的差异
- php 基于json的socket通信
- xml,json,http,socket的区别
- 周五的WS聚会
- JAX-WS的例子
- JAX-WS的例子
- spring-ws的使用
- ws
- c++0x
- Windows Server 2008远程桌面多用户登陆的配置方法
- 在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以
- view向Controller传值
- Windows server 2008 - Thinkvantage 按键无效的解决办法
- json/socket/ws的差异
- Xcode 3.2.5免证书开发调试
- Windows Server 2008- 开启Aero特效
- 一句话 搞定图片下载!
- 关于6410开发板Linux内存地址0Xc0008000的由来
- 在2008右键菜单中增加“在这里打开命令行窗口”
- EXISTS、IN、NOT EXISTS、NOT IN的区别与性能分析 (转载)
- 10个非常有用的CSS技巧
- 获取iphone系统版本号