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

前言

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

1数据传输方式

1.1Socket传输的定义和其特点

所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDP和TCP两个协议。Socket处于网络协议的传输层。

UDP协议:广播式数据传输,不进行数据验证

TCP协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,

Socket传输的特点:

优点

1)传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)

2)传输数据时间短,性能高

3)适合于客户端和服务器端之间信息实时交互

4)可以加密,数据安全性强

缺点:

1)需对传输的数据进行解析,转化成应用级的数据

2)对开发人员的开发水平要求高

3)相对于Http协议传输,增加了开发量

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

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

基于http协议的传输特点

优点:

1)基于应用级的接口使用方便

2)程序员开发水平要求不高,容错性强

缺点:

1)传输速度慢,数据包大(Http协议中包含辅助应用信息)

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

3)数据传输安全性差

2各数据传输方式的适用范围

2.1Socket传输适用范围

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

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

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

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

相关推荐