`
thinkerAndThinker
  • 浏览: 284740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

http webservice socket的区别

 
阅读更多

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

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

 socket传输适用范围
  基于socket传输的特点 : socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等

 

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

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

   基于http协议的传输特点

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

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

   3) 数据传输安全性差

   基于http协议传输的适用范围
   基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性要求不是很高,且需要快速开发的应用。如公司oa系统,互联网服务等

 

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进行了一次包装而已,后者更加底层。

 

分享到:
评论

相关推荐

    webservice和socket简单例子

    Web服务(WebService)和Socket是两种在互联网上实现应用程序间通信的重要技术。它们在不同的场景下各有优势,但都致力于解决分布式系统中的数据交换问题。本文将深入探讨这两种技术的基本概念、工作原理以及它们在...

    socket多线程调用webservice服务实现系统对接

    利用socket thread dom4j log4j axis2 soap PBE加解密等相关技术实现的socket协议调用webservice服务。 由于银行后台核心系统普遍采用的是UNIX下C/C++的开发平台,如果需要调Web Service往往需要借助一些第三方的库...

    C#利用Socket创建webservice

    【C#利用Socket创建Web服务】是通过C#编程语言基于.NET Framework 3.5或2.0版本,使用Socket类来实现的一种自定义通信协议的服务。Socket在计算机网络编程中扮演着重要的角色,它是应用层与传输层的接口,允许程序...

    外部接口文档webService socket josn

    外部接口文档,特别是涉及到WebService、Socket和JSON的交互,是现代软件开发中不可或缺的部分,它们主要用于不同系统间的数据交换和服务调用。本文将详细解析这些接口类型以及相关的技术和安全考虑。 1. **...

    springmvc整合webservice加整合socket

    整合Spring MVC、Webservice和Socket,可以构建一个既能够作为Webservice服务端接收并处理请求,也可以作为客户端调用其他Webservice的服务。同时,通过Socket可以实现实时的数据同步和推送功能,提升用户体验。 ...

    http和WebService 调用接口Java代码demo

    综上所述,"http和WebService 调用接口Java代码demo"这个主题涵盖了Java通过HTTP进行接口调用的基本方法,以及Web Service的使用,特别是结合Spring Boot的场景。在实际项目中,理解并熟练运用这些技术能够帮助我们...

    java socket 发送http请求webservice.

    Java Socket 发送HTTP请求Web Service是一项基础且重要的网络编程技能,尤其在开发分布式系统或集成不同服务时。本文将深入探讨如何使用Java的Socket API来实现这个功能,并结合标签“源码”和“工具”,提供实用的...

    多线程socket+webservice操作demo

    - 使用注解(如`@WebService`、`@SOAPBinding`)定义服务接口和实现类。 - 通过`WSDL`(Web Service Description Language)文件暴露服务。 2. **发布Web Service** - 使用JAX-WS的工具(如`wsimport`)生成...

    通过socket实现webservice的功能.rar

    Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求, Socket本质是编程接口(API),是对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    使用socket实现。 使用jaxws开发webservice。 Webservice三要素 Wsdl(webservice使用说明书)重点掌握 Soap(jaxws开发webservice的传输协议)重点掌握 UDDI(了解) Webservice的使用场景分析(掌握) 学会...

    WebService数据交互事例

    在Flex中,有四种主要的对象用于数据交互:HTTPService、WebService、RemoteObject和Socket。HTTPService通过HTTP协议传输XML数据,简单易用,但处理大量数据时效率较低。WebService则遵循SOAP协议,适合通用的数据...

    CI与webservice

    CI中用socket实现webservice

    linux、webservice、ssl、socket、搜索引擎nutch.rar

    理解套接字的工作原理,如TCP/IP套接字和UDP套接字的区别,如何建立连接、发送和接收数据,以及处理网络异常,对于编写网络应用程序如聊天应用、文件传输工具等是必不可少的。 Nutch是一款开源的全文搜索引擎,它是...

    Android通过WebService访问SQLServer

    Android系统提供了多种方式与远程服务器进行通信,如HTTP协议、Socket编程以及通过Web服务(如SOAP或RESTful API)。本例中,我们重点关注的是通过WebService的方式。 2. **WebService介绍**: WebService是一种...

    基于Webservice的数据访问.docx

    Webservice 工作原理可以分为两种:通过 Socket 实现 C/S 和通过 Webservice 实现 C/S。 在 C/S 架构中,客户端向服务器发送请求,服务器处理请求并返回结果。Webservice 使得不同的应用程序能够通过网络进行通讯,...

    webservice

    通过以上分析可以看出,WebService不仅限于使用Socket通信实现,还可以通过XML、SOAP、RESTful API等多种方式来实现。对于需要实时性和可靠性较高的场景,如天气查询服务,采用TCP协议并通过Socket实现是一个不错的...

    Remoting和Webservice的详细介绍及区别

    总结来说,Remoting与WebService的主要区别在于协议的灵活性、是否基于开放标准、启动方式、开发环境的封装程度、适用系统类型、消息处理方式以及跨平台能力。WebService更标准化,适合于构建开放的、基于网络的应用...

    基于SuperSocket的消息推送详细说明文档1

    - .NET Webservice:基础使用技巧。 - SuperSocket:服务端向特定客户端推送消息的开源库。 - IIS部署:程序发布与部署。 - TCP/IP:端口管理及Redis基础操作。 - 心跳数据包:维持长连接,防止TCP假死。 - ...

    WebService用户使用手册.pdf

    客户端可以通过多种方式访问 Web Service,例如通过代理客户端、Socket 服务、Corba 服务和 WSDL 等。代理客户端是一种简单的方式,通过生成客户端代理源码,然后根据编程规范编写客户端代码。 WSDL 和 SOAP WSDL...

    c#WINFORM与WEB的直接交互非webservice方法

    4. **Socket通信**:如果Web服务器提供了TCP/IP套接字接口,WinForm应用可以通过建立网络连接,直接发送和接收数据。这种方式适用于需要实时、低延迟通信的场景。 5. **文件共享**:对于简单的数据交换,可以使用...

Global site tag (gtag.js) - Google Analytics