Socket与Http
Socket和http协议都可以实现数据传输,但两种传输方式有什么 各自的特点,和缺点,如何选择合适的传输方式。
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系统,互联网服务等。
分享到:
相关推荐
利用C# Socket 实现HTTP WEB服务器 VS2008 + WINDOWS7 调试测试通过
4种方法实现socket数据转发,socket 连接http 服务器. 内有socket,select,poll,多线程等的详细实例
java 用socket 下载http 网页, 供参考, 其精髓是socket和http头部报文
主要介绍了c#使用Socket发送HTTP/HTTPS请求的实现代码,需要的朋友可以参考下
C语言socket发送http请求的例子源代码 一个使用C语言socket发送http请求的例子 这是一个linux下使用C的标准socket,进行http访问的例子。通过socket发送get请求,从中国天气网获得指定城市的天气。 该例子在ubuntu ...
下面是一个先前我用socket实现HTTP代理服务器的例子,代码很简单我就不一一解析了,要注意的是:当该代理服务器收到IE发来的请求时,要将IE请求行中的webserver的域名(或者IP)剥去,再将请求转发给webserver,如果...
用socket实现了最基本的 http 下载 有利于对http请求头及回应头的学习分析
在linux环境下,使用socket发送和接收http请求的例子
VC 实现的socket实现HTTP协议
javac Server.java java.exe Server 查看说明 可以简单得到http请求头 便于分析http
Socket实现HTTP下载协议.rarSocket实现HTTP下载协议.rar
这是一个linux下使用C的标准socket,进行http访问的例子。通过socket发送get请求,从中国天气网获得指定城市的天气。 该例子在ubuntu 14.04和AM3358的嵌入式linux3.14下实际测试可用。 如果需要在嵌入式linux下使用...
在andriod下实现一个间的socket server 安装以后可以通过,浏览器访问/mnt/sdcard/IDATACHINA文件夹下的html文件
Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回...
直接用socket实现HTTP协议(下载专用)
http协议+socket获取网页内容源代码。
利用socket编程实现http服务器,并实现文件图片的下载及内容显示
使用Java 最原始的Socket 方式逐步实现Http/Https 网络通信,加深对于网络协议的理解
HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言...
本资料提供的是用Socket编程实现聊天程序。 有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,...