Android程序设计教程教学课件作者丁山第8章节Android通信应用课件

Android程序设计教程教学课件作者丁山第8章节Android通信应用课件

ID:40234639

大小:1.45 MB

页数:77页

时间:2019-07-27

Android程序设计教程教学课件作者丁山第8章节Android通信应用课件_第1页
Android程序设计教程教学课件作者丁山第8章节Android通信应用课件_第2页
Android程序设计教程教学课件作者丁山第8章节Android通信应用课件_第3页
Android程序设计教程教学课件作者丁山第8章节Android通信应用课件_第4页
Android程序设计教程教学课件作者丁山第8章节Android通信应用课件_第5页
资源描述:

《Android程序设计教程教学课件作者丁山第8章节Android通信应用课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章Android通信应用1主要内容8.1Socket通信8.2蓝牙8.3WiFi通信28.1.1Socket简介8.1.2Socket通信模型及重要的API8.1.3ServerSocket类8.1.4Socket连接过程8.1.5Android中的Socket通信8.1Socket通信3Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket通信是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。Socket是一种低级、原始的通信方式,要编写服务器端代码和

2、客户端代码,自己开端口,自己制定通信协议、验证数据安全和合法性,而且通常还应该是多线程的,开发起来比较繁琐。8.1.1Socket简介4网络传输协议分为两种:TCP和UDPTCP(TransmissionControlProtocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。UDP(UserDataProtocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协

3、议,它不与对方建立连接,而是直接就把数据包发送过去。UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。8.1.2Socket通信模型及重要的API5SocketAPI在Socket通信中能用到的重要的SocketAPI:java.net.Socket继承于java.lang.Object,有八个构造器用于负责类中成员变量(域)的初始化。其方法并不多,下面介绍使用最频繁的三个方法。Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。getInputStream方法获得网络连接输入,同时返回一个InputStream对象

4、实例。getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。8.1.2Socket通信模型及重要的API6进行Socket通信必然用到ServerSocket类,在这里我们首先介绍一下ServerSocket类的各个构造方法,以及成员方法的用法。1.构造ServerSocketServerSocket的构造方法有以下几种重载形式:ServerSocket()ServerSocket(intport)ServerSocket(intport,intbacklog)ServerSocket(intport,intbacklo

5、g,InetAddressbindAddr)8.1.3ServerSocket类7在以上构造方法中,参数port指定服务器要绑定的端口(服务器要监听的端口),参数backlog指定客户连接请求队列的长度,参数bindAddr指定服务器要绑定的IP地址。绑定端口:除了第一个不带参数的构造方法以外,其他构造方法都会使服务器与特定端口绑定,该端口由参数port指定。例如,以下代码创建了一个与80端口绑定的服务器:ServerSocketServerSocket=newServerSocket(80);8.1.3ServerSocket类8如果运行时无法绑定端口会抛出BindE

6、xception,其原因如下:端口已经被其他服务器进程占用;在某些操作系统中,如果没有以超级用户的身份来运行服务器程序,那么操作系统不允许服务器绑定到1~1023之间的端口。如果把参数port设为0,表示由操作系统来为服务器分配一个任意可用的端口。由操作系统分配的端口也称为匿名端口。对于多数服务器,会使用明确的端口,而不会使用匿名端口,因为客户程序需要事先知道服务器的端口,才能方便地访问服务器。8.1.3ServerSocket类9设定客户连接请求队列的长度:ServerSocket构造方法的backlog参数用来显式设置连接请求队列的长度,它将覆盖操作系统限定的队列的

7、最大长度。值得注意的是,在以下几种情况中,仍然会采用操作系统限定的队列的最大长度:backlog参数的值大于操作系统限定的队列的最大长度;backlog参数的值小于或等于0;在ServerSocket构造方法中没有设置backlog参数。8.1.3ServerSocket类10设定绑定的IP地址如果主机只有一个IP地址,那么默认情况下,服务器程序就与该IP地址绑定。如果主机有多个IP地址,则需用ServerSocket的第4个构造方法ServerSocket(intport,intbacklog,InetAddressbindAddr)中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。