- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第8单元高级编程Android移动开发基础教程
8.1网络编程【知识描述】网络编程是指多台设备之间通过网络进行数据交换。网络通信基于“请求响应模型”,即一台设备发送通信请求,另一台设备进行反馈。发送请求端称为客户端,响应请求端称为服务端。例如常见的QQ程序,用户打开QQ客户端程序之后,输入用户名和密码,再单击“登录”,即向腾讯服务端发送登录请求,服务端把请求结果反馈到客户端。Android是基于Java进行开发的,所以JDK中关于网络编程的API在Android中均可使用。
8.1.1TCP、UDP基础两台设备之间进行通信,一定要通过通信协议,即客户端以一定的格式将数据发送出去,服务端接收到数据之后,可以根据同样的协议将数据的内容解析出来。01TCP(TransmissionControlProtocol,传输控制协议)提供的是面向连接、可靠的字节流服务,通信双方必须先建立一个TCP连接,然后才能传输数据。而且TCP还提供了超时重发、数据校验、拥塞控制等功能,保证了数据的可靠传输。02UDP(UserDatagramProtocol,用户数据报协议)应用于需要安全可靠地传输数据的场景,但是开销比较大。UDP应用于对数据可靠性要求不是太高的场景,其优点是开销小,另外UDP没有数据校验、拥塞控制等功能,故而传输速度比较快。
8.1.1TCP、UDP基础对于上层应用来说,无论是TCP还是UDP,通信都包括客户端和服务端,处理流程也具有一般性,具体如表8.1所示。客户端处理流程:(1)根据服务端的IP地址和端口号建立网络连接;(2)建立连接之后,进行数据交换,向服务端发送请求和接收服务端反馈的数据;(3)关闭连接服务端处理流程:(1)服务端启动之后,监听一个固定的端口,被动地等待客户端连接;(2)在客户端连接到服务端之后,服务端可以获取客户端的IP地址等信息,可以进行数据交换;(3)接收客户端发送的数据,然后把处理的结果反馈给客户端;(4)关闭连接表8.1客户端和服务端的处理流程
8.1.2Socket通信任务8.1实现网络通信【任务代码】客户端代码:privatevoidstartClient(){Stringdata=HelloWorld;InputStreamis=null;OutputStreamos=null;Socketc=null;try{c=newSocket(01,7005);//建立连接os=c.getOutputStream();//获得输出流os.write(data.getBytes());//发送数据is=c.getInputStream();//获得输入流byte[]b=newbyte[1024];is.read(b);//接收反馈数据}catch(Exceptione){e.printStackTrace();}finally{try{if(null!=c){c.close();}if(null!=is){is.close();is=null;}if(null!=os){os.close();os=null;}}catch(IOExceptione){e.printStackTrace();}}}
8.1.2Socket通信客户端首先定义了一个Socket对象向服务端请求建立连接,构造函数以服务端的IP地址和端口号作为参数。建立连接之后,调用getOutputStream()获取输出流,向服务端发送数据。【任务代码】服务端代码:privatevoidsta
文档评论(0)