- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 网络编程入门7.1 基于TCP的Socket通信7.2 Android平台架构和特点7.3 使用HTTP访问网络7.4 使用WebView显示网页CONTENT7.1 基于TCP的Socket通信 Socket是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,与处于同一网络中的其他应用程序进行通信。Socket的实现是多样化的,最为典型的就是TCP和UDP协议,分别对应的Socket类型为流套接字(Stream Socket)和数据报套接字(Datagram Socket)。流套接字将TCP作为其端对端协议,提供了一个可信赖的字节流服务;数据报套接字使用UDP协议,提供数据打包发送服务。在本节只介绍基于TCP的Socket通信机制,不涉及UDP协议,为了在Android网络开发时更好地理解基于TCP的Socket通信机制,需要先简单介绍Socket通信模型。7.1 基于TCP的Socket通信7.1.1 Socket通信模型7.1.2 使用ServerSocket和Socket 7.1.1 Socket通信模型back 无论实际通信多么复杂,最简单的Socket通信模型将参与通信的实体抽象成两部分,即客户端和服务器端,如图7-1所示。 客户端需要Socket这个类的对象,而服务器端需要ServerSocket这个类的对象,由客户端Socket发送一个请求,服务器端的ServerSocket在计算机的某一个端口号上进行监听,监听客户端发送的请求之后,那么客户端和服务器端的一个通信通道就建立起来了。此时可以从客户端向服务器端发送数据,服务器端也可以给客户端相应的响应。图7-1 Socket通信模型7.1.1 Socket通信模型 在客户端发送数据的时候需要用到I/O流里面的OutputStream,通过这个OutputStream把数据发送给服务器端,服务器端用InputStream来读取客户端当中用OutputStream所写入的数据;如果服务器端向客户端发送数据,那么就使用OutputStream写出数据,在客户端通过InputStream把服务器端当中通过OutputStream所写入的数据给它读取出来,如图7-2所示。在Android网络应用开发中,客户端和服务器端可以根据实际需求来设定,通常有以下几种形式。(1)使用Android模拟器或Android真机作为客户端,PC作为服务器端;(2)使用Android模拟器或Android真机作为服务器端,PC作为客户端;(3)使用两个Android模拟器或Android真机,一个模拟器或真机作为客户端,另一个模拟器或真机作为服务器端。接下来就将介绍这几种通信形式的实现思路及关键源程序,完整工程请参考本章Section 7.1下完整源程序。图7-2 Socket通信模型7.1.2 使用ServerSocket和Socket back 按照上述通信模型,实现时使用ServerSocket创建服务器端,使用Socket创建客户端。分3种形式来介绍这一过程。1.使用Android模拟器为客户端,PC作为服务器端 在这一形式中,实现了利用服务器端的程序读取电脑C盘下的tcp.txt文件,并利用ServerSocket在计算机的30000端口处监听,当Android模拟器发送请求时,将tcp.txt中的内容显示在Android客户端的TextView上。这一实现的思路可以抽象成以下步骤。 Step 1:服务器PC端使用ServerSocket在计算机的30000端口处监听,同时读取电脑C盘下的tcp.txt文件,写入OutputStream。 Step 2:Android客户端在【启动监听线程】Button被按下时,启动线程,创建Socket并在计算机的30000端口处监听,通过InputStream把服务器端当中通过OutputStream所写入的数据给它读取出来,并显示在TextView上。7.1.2 使用ServerSocket和Socket Android客户端的运行效果如图7-3所示。单击【启动监听线程】Button,则会在TextView中显示我的电脑C盘中tcp.txt文件中的内容,如图7-4所示。图7-4 显示C:\tcp.txt中内容图7-3 Android 客户端运行效果7.1.2 使用ServerSocket和Socket Step 1中服务器端的源程序如下。 Chapter07\Section7.1\tcpserver\src\main\java\com\example\TcpSocketServer.javapublic class TcpSocketServer { public st
您可能关注的文档
- AutoCAD 2010计算机辅助设计立体化教程第3章.ppt
- AutoCAD 2010计算机辅助设计立体化教程第2章.ppt
- AutoCAD 2010计算机辅助设计立体化教程第1章.ppt
- AutoCAD 2009中文版辅助机械制图第11章打印图形.ppt
- AutoCAD 2009中文版辅助机械制图第10章 三维建模.ppt
- AutoCAD 2009中文版辅助机械制图第9章 绘制机械图.ppt
- AutoCAD 2009中文版辅助机械制图第8章 查询信息.ppt
- AutoCAD 2009中文版辅助机械制图第7章 书写文字和标注尺寸.ppt
- AutoCAD 2009中文版辅助机械制图第6章 二维高级绘图.ppt
- AutoCAD 2009中文版辅助机械制图第5章 编辑图形.ppt
- Android移动开发第六章 图像处理与动画应用_V0.2.pptx
- Android移动开发第二章 Android开发起步_V0.2.pptx
- Android移动开发第14章 课程设计——简易打地鼠游戏.ppt
- Android移动开发第13章 综合开发实例——个人理财通.ppt
- Android移动开发第12章 Widget组件开发.ppt
- Android移动开发第11章 网络技术.ppt
- Android移动开发第10章 位置服务与地图应用.ppt
- Android移动开发第9章 图像绘制技术.ppt
- Android移动开发第8章 数据存储与共享.ppt
- Android移动开发第7章 Service应用.ppt
文档评论(0)