以下文章转载于 :http://blog.csdn.net/m_123hj_520/article/details/9370723
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进行了一次包装而已,后者更加底层。
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插件,
相关推荐
本主题聚焦于C#中的WebService客户端和服务器的交互,以及如何利用Json进行数据交换。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于编写而被广泛应用。 一、C# WebService简介 ...
这里我们关注的是动态调用WebService并处理返回的JSON数据,然后将这些数据展示在GridView中。这个过程涉及到的技术主要包括:WebService的调用、JSON数据解析以及数据绑定到GridView。 首先,让我们来理解...
在本示例中,我们将关注如何在WebService中处理JSON(JavaScript Object Notation)文件,这是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。 在Java环境中,使用WebService实现JSON文件的传输...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
对于Android应用来说,可以使用HttpURLConnection或OkHttp等网络库发送HTTP请求到ASP WebService,并通过JSON解析库如Gson或Jackson解析返回的JSON数据,以便在应用中展示或操作这些数据。 总的来说,这个项目展示...
在本示例中,“JSON返回值格式的WebService样例”旨在展示如何构建一个Web服务,该服务能够从数据库获取数据,并以JSON格式将结果返回给调用者。 首先,我们需要了解WebService的基本概念。WebService是一种基于...
本篇将深入探讨如何在CXF框架中实现WebService,特别是如何处理JSON和XML的数据交换。 1. **CXF与WebService** CXF框架提供了基于Java的接口来定义和实现WebService,这些接口基于JAX-WS(Java API for XML Web ...
一个简单实用的WebService服务端开发样例,采用Spring MVC,利用 x-fire资源,加入 log4j日志记录,加入maven来获取对应依赖。 该服务提供一个针对 TRSServer 全文检索服务器数据库 的检索功能,通过 url来执行全文...
标题“Java-tomcat-axis2开发webservice返回json数据”涉及的是使用Java、Tomcat服务器以及Axis2框架来创建Web服务,并返回JSON格式的数据。这是一个常见的技术组合,用于构建RESTful API或者提供服务化接口。下面...
本项目主要展示了如何使用CXF和Spring构建一个能够以JSON格式返回数据的RESTful WebService接口。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它...
标题中的“json.rar_Soap To json_java webservice json_json rpc SOAP_json we”提到了几个关键点: 1. **SOAP to JSON**:SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web上交换结构化和...
这个"WebService+Json DEMO"是一个示例项目,演示了如何使用WebService结合Json进行数据交换。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Web...
为了在C++中处理HTTP请求并发送JSON数据,可以利用libcurl库,这是一个功能丰富的客户端URL传输库。Curl库支持多种协议,包括HTTP、HTTPS,使得从C++程序中调用Web Service变得简单。Curl提供了一系列API,可以设置...
外部接口文档,特别是涉及到WebService、Socket和JSON的交互,是现代软件开发中不可或缺的部分,它们主要用于不同系统间的数据交换和服务调用。本文将详细解析这些接口类型以及相关的技术和安全考虑。 1. **...
在这个特定的场景中,我们关注的是如何利用VC通过HttpGet和HttpPost方法与WebService进行交互,并处理返回的Json数据。 HttpGet和HttpPost是HTTP协议中的两种主要请求方法。HttpGet是一种无状态、幂等的请求方法,...
Web服务(WebService)和Socket是两种在互联网上实现应用程序间通信的重要技术。它们在不同的场景下各有优势,但都致力于解决分布式系统中的数据交换问题。本文将深入探讨这两种技术的基本概念、工作原理以及它们在...
C#开发webservice接口,对客户端post服务的Json数据进行接收反馈 接收到的数据流转换成string类型,有其他需求对json解析,自己写个解析去查询下. 然后反馈json发送给请求端。
本资源是一个封装类,采用异步方式解决了Wininet不能设置超时的问题,当前异步采用C++...MFC程序中通过HttpGet和HttpPost方式向WebService发送请求,WebService以Json的方式返回数据,MFC程序解析Json,得到指定数据。
利用socket thread dom4j log4j axis2 soap PBE加解密等相关技术实现的socket协议调用webservice服务。 由于银行后台核心系统普遍采用的是UNIX下C/C++的开发平台,如果需要调Web Service往往需要借助一些第三方的库...
C#中通过直接添加引用的方来调用Web Service的方式不够灵活,故采取手动发送Http请求的方式来调用Web Service。最后选择使用Post方式来调用Web Service