第12章 Android网络应用-【千锋教育】Android从入门到精通

2023-03-21
| 31页
| 203人阅读
| 0人下载
教辅

内容正文:

第12章 Android网络应用 基于TCP协议的网络通信 使用URL访问网络资源 使用HTTP访问网络 使用WebService进行网络编程 掌握TCP协议的基础和使用Socket进行网络通信 掌握WebService的基本知识 掌握使用URLConnection提交请求 掌握HttpURLConnection的使用 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.1 TCP协议基础 12.1.2 使用Scoket进行通信 12.1.3 加入多线程 目录 Contents 初心至善 匠心育人 12.1 基于TCP协议的网络通信 TCP/IP协议的全称是Transmission Control Protocol/Internet Protocol,译为“传输控制协议/因特网互联协议” ,又名网络通讯协议,是Internet最基本的协议。它的工作过程是在通信的两端各建一个Socket(本质是编程接口),从而在通信的两端之间形成网络虚拟链路。一旦该虚拟链路建立,两端的程序就可通过该链路进行通信。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.1 TCP协议基础 了解计算机网络体系结构对TCP协议的掌握有很大的帮助,计算机网络体系结构如图所示。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.1 TCP协议基础 在上图中可以看出,在网络层中IP协议是一个关键协议,通过使用该协议,使Internet成为一个允许连接不同类型的计算机和不同操作系统的网络。IP协议负责将消息从一个主机传送到了另一个主机,保证了计算机之间可以发送和接收数据,但它并不能解决数据分组在传输过程中可能出现的问题。因此,若要解决可能出现的问题,就需要使用到TCP协议。 TCP协议又被称为端对端协议,因为当两台计算机远程连接时,TCP协议会为它们建立一个发送和接收数据的虚拟链路。TCP协议负责收集信息包,并将其按适当的次序放好用于传送,在接收端收到信息包后再将其正确的还原。这种方式保证了数据包在传送中准确无误。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.1 TCP协议基础 TCP协议使用重发机制:当计算机A发送一条消息给计算机B后,需要收到计算机B的确认信息,如果A没有收到B的确认信息,则会重新发送消息。这种重发机制保证了通信的可靠性,即使在Internet出现堵塞的情况下依然能保证消息传送成功。 综上所述,虽然TCP与IP这两个协议的功能有所区别,也都可以单独使用,但其实它们在功能上是互补的。只有两者结合,才能保证Internet在复杂的环境中正常运行。凡是要连接到Internet的计算机,都必须同时安装和使用这两个协议,因此在实际应用中通常把这两个协议统称为TCP/IP协议。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.2 使用Socket进行通信 Socket的本质是编程接口,是对TCP/IP协议的封装。Socket通常称为“套接字”,用于描述IP地址和端口,建立网络通信连接至少要一对Socket,如图所示。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.2 使用Socket进行通信 在Android中通常使用Socket的构造器来连接到指定服务器,通常使用如下两个构造器。 Socket(InetAddress/String remoteAddress, int port):创建连接到指定远程主机、远程端口的Socket,该构造器没有指定本地地址、本地端口,默认使用本地主机的默认IP地址,默认使用系统动态分配的端口。 Socket(InetAddress/String remoteAddress, int port, InetAddress localAddr, int localPort):创建连接到指定远程主机、远程端口的Socket,并指定本地IP地址和本地端口,适用于本地主机有多个IP地址的情况。 初心至善 匠心育人 12.1 基于TCP协议的网络通信 12.1.2 使用Socket进行通信 客户端利用Socket请求连接服务器,那么服务器端如何获取客户端的连接请求呢?在Java中能接收客户端连接请求的类是ServerSocket,一般使用步骤如下。 (1)创建ServerSocket对象:ServerSocket的构造方法有三种,根据参数个数的不同区分。 (2)调用accept()方法与客户端Socket连接:如果服务器端接收到一个客户端Socket的连接请求,该方法将返回一个与连接客户端Socket对应的Socket;否则该方法将一直处于等待状态,线程也被阻塞。 初心至

资源预览图

第12章 Android网络应用-【千锋教育】Android从入门到精通
1
第12章 Android网络应用-【千锋教育】Android从入门到精通
2
第12章 Android网络应用-【千锋教育】Android从入门到精通
3
第12章 Android网络应用-【千锋教育】Android从入门到精通
4
第12章 Android网络应用-【千锋教育】Android从入门到精通
5
第12章 Android网络应用-【千锋教育】Android从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。