《Android的Socket通信》.pdf
文本预览下载声明
重庆邮电大学移动互联工作室
重庆邮电大学移动互联工作室
重重庆庆邮邮电电大大学学移移动动互互联联工工作作室室
智能校园项目开发组指南
智能校园项目开发组指南
智智能能校校园园项项目目开开发发组组指指南南
Socket
Socket
第四期 SSoocckkeett通信
目 录
一、Socket通信简介2
1.1什么是Socket2
1.2Socket的分类2
二、Socket的基本通信模型2
2.1 TCP通信模型3
2.2 UDP通信模型3
三、Socket基本实现原理3
3.1基于TCP协议的Socket3
3.2基于UDP协议的数据传输3
四、Socket的基本实现方式4
4.1 TCP方式4
4.2 UDP方式5
五、Socket通信实例6
六、Socket通信过程中的常见问题及解决方案8
1
引 言
随着CES2012在拉斯维加斯的落幕,我们可以清楚的看到,移动互联网决定着全
球移动市场的发展趋势,它将像PC机改变我们以前的生活一样,改变我们未来的生
活。移动互联的实现需要确保数据的可靠和有效传输。因此,数据通信是开发设计过
程中必不可少的一个重要环节。
在上一期指南中,我们介绍了如何利用控件来布局应用的UI界面,好的界面设
计是吸引用户的第一步,当然,这还远远不够,高效的数据传输,流畅的界面跳转,
才是高品质用户体验的最终归属。下面,我们来介绍Android与服务器的网络通信。
通信通常包含两个部分,一是应用程序的内部通信,一是客户端和服务器之间的网络
通信,本期指南我们主要介绍Android客户端与服务器之间的网络通信。
Socket
Socket
一、SSoocckkeett通信简介
Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。
两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接
通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而 Socket
通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主
动推送,而不需要每次由客户端想服务器发送请求。
那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端
口,即端口通信。通过建立socket连接,可为通信双方的数据传输传提供通道。socket
的主要特点有数据丢失率低,使用简单且易于移植。
下面,我们来进一步了解认识Socket。
1.1 Socket
1.1 Socket
11..11什么是SSoocckkeett
Socket是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将
应用程序添加到网络中,与处于同一网络中的其他应用程序进行通信。简单来说,
Socket提供了程序内部与外界通信的端口并为通信双方的提供了数据传输通道。
1.2Socket
1.2Socket
11..22SSoocckkeett的分类
根据不同的的底层协议,Socket的实现是多样化的。本指南中只介绍TCP/IP协
议族的内容,在这个协议族当中主要的Socket类型为流套接字(stream socket)和
数据报套接字(datagram socket)。流套接字将TCP作为其端对端协议,提供了一个
可信赖的字节流服务。数据报套接字使用UDP协议,提供数据打包发送服务。
下面,我们来认识一下这两种Socket类型的基本实现模型。
Socket
Socket
二、SSoocckkeett的基本通信模型
显示全部