`

【转】 服务器和客户端的交互方式(Socket,http协议)和各自特点适用范围

 
阅读更多

前言

前几天设计Android手机和服务器之间数据交互应用,对实现数据传输这个环节,产生了疑惑。Sockethttp协议都可以实现数据传输,但两种传输方式有什么  各自的特点,和缺点,如何选择合适的传输方式。

 

数据传输方式

1.1  Socket传输的定义和其特点

       所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDPTCP两个协议。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.1 Socket传输适用范围

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

 

 2.2 基于Http协议传输的适用范围

          基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性

       要求不是很高,且需要快速开发的应用。如公司OA系统,互联网服务等。

 

本文转载自:徐文兵的IT博客 原文链接:http://www.cnblogs.com/macroxu-1982/archive/2011/01/12/1933722.html

分享到:
评论

相关推荐

    socket封装库,有服务器和客户端

    在本项目中,"TCPNetKit"是一个已经封装好的Socket库,包含了服务器端和客户端的功能,允许两者之间进行消息交互。以下是对这个库的一些详细说明和相关知识点: 1. **Socket基本概念**:Socket是操作系统提供的一种...

    详解Android客户端与服务器交互方式

    最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json。要在Android手机客户端与pc服务器交互,需要满足下面几种条件:跨平台、传输数据格式...

    C#Socket利用单例来实现服务器与客户端交互

    在服务器与客户端交互的场景中,通常只有一个服务器实例来处理所有客户端的请求,因此,采用单例模式非常合适。 在C#中实现TCP Socket服务器的单例,我们需要以下几个步骤: 1. 定义一个SocketServer类,包含私有...

    C#Socket服务器与客户端交互

    本篇文章将深入探讨“C# Socket服务器与客户端交互”的相关知识点。 首先,Socket在计算机网络中扮演着桥梁的角色,它允许应用程序通过TCP/IP协议进行数据传输。TCP(Transmission Control Protocol)是一种面向...

    基于TCP的Socket编程服务器和客户端代码

    在IT领域,网络通信是不可或缺的一部分,而TCP...通过`File_client.java`和`File_server.java`这两个文件,我们可以学习到如何在Java中实现TCP服务器和客户端的交互,这对于理解网络编程和开发相关应用至关重要。

    Socket服务器和客户端

    总结,Socket服务器和客户端是网络通信的基础,理解其工作原理和实现方式对于开发分布式应用至关重要。无论是在桌面应用如WPF,还是在Web服务中,Socket都能提供强大的数据传输能力。通过不断学习和实践,开发者可以...

    服务器和客户端进程的简单SOCKET通讯

    - Web服务:HTTP协议就是基于TCP Socket实现的,服务器接收客户端的HTTP请求,然后返回网页内容。 以上内容涵盖了服务器和客户端进程使用SOCKET进行简单通讯的基本原理和步骤。实际开发中,还需要考虑多线程、并发...

    c# 服务器与客户端交互

    服务器和客户端交互是网络编程的核心部分,它允许不同设备通过网络共享数据和执行任务。在C#中,实现这种交互通常涉及以下关键技术: 1. **套接字(Sockets)**:套接字是网络通信的基础,它是进程之间通信的一种...

    socket C# 服务器和客户端 图形界面

    本文将深入探讨“socket C# 服务器和客户端 图形界面”这一主题,帮助你理解如何利用C#的Socket类创建交互式的网络应用。 首先,让我们了解一下Socket的基本概念。Socket是网络层面上的通信接口,它允许应用程序...

    Socket服务器与客户端编程(链表)

    在这个场景中,我们将讨论如何使用Socket实现服务器与客户端的交互,并结合链表数据结构来处理连接请求。链表作为一种动态数据结构,能有效地管理多个客户端连接,尤其是在服务器需要处理大量并发连接时。 首先,...

    c++实现Socket服务器和客户端功能

    C++作为一门强大的编程语言,可以很好地实现Socket接口,构建服务器和客户端应用。在这个项目中,我们将探讨如何使用C++在Visual Studio 2008环境下实现Socket服务器和客户端的基本功能。 首先,Socket在C++中主要...

    C#使用SuperSocket实现自定义协议实现CS架构服务器和客户端程序设计).zip

    在本项目中,"C#使用SuperSocket实现自定义协议实现CS架构服务器和客户端程序设计"),开发者利用C#编程语言以及SuperSocket开源库构建了一套C/S(客户端/服务器)架构的应用。SuperSocket是一个轻量级、高度可扩展的...

    socket服务器和客户端程序

    ### Socket服务器和客户端程序知识点详解 #### 一、Socket网络编程概述 Socket是网络通信的基础,它提供了一种进程间通信机制,允许不同计算机上的进程通过网络进行数据交换。在本例中,我们关注的是服务器端与...

    SuperSocket框架实现服务器和Winform客户端代码

    同时,使用合适的日志框架记录服务器和客户端的交互,便于排查问题。 总之,SuperSocket为开发者提供了构建网络服务器的便利工具,其易用性和灵活性使其成为.NET环境中实现服务器应用的理想选择。通过结合Winform...

    socket客户端,可连接多个服务器

    总的来说,这个"socket客户端,可连接多个服务器"的实现涉及了Socket编程的基础,TCP连接的建立与恢复,以及客户端的错误处理和重连策略。理解这些知识点对于开发分布式系统、网络应用或者其他需要网络通信的项目都...

    C# Socket 与服务器Socket交互 客户端

    C# Socket 与服务器Socket交互 客户端

    简单的socket 服务器/客户端编程

    Socket分为两部分:服务器端(Server Socket)和客户端(Client Socket)。服务器端创建一个监听套接字,等待客户端的连接请求;客户端则通过连接套接字向服务器发起连接。 在Python中,我们可以使用内置的`socket`...

    java聊天室 (内含服务器+客户端)赞! Socket SerSocket

    在本项目中,我们有一个服务器端(ServerSocket)和多个客户端(Socket),它们通过TCP/IP协议进行通信,实现即时消息的交换。 首先,让我们了解一下Java中的Socket。Socket是Java提供的用于网络通信的接口,它基于...

    socket实现服务器和客户端数据的传输

    在"服务器客户端"的场景中,我们通常会有多个客户端同时连接到服务器。在这种情况下,服务器需要能够处理并发连接,这可能涉及到多线程或者异步I/O。对于C++,可以使用线程池或select/poll/epoll等I/O复用机制来处理...

Global site tag (gtag.js) - Google Analytics