- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章网络编程分析
本章小结 本章主要介绍了Android平台下进行网络编程的相关知识。网络编程在进行手机应用开发占有较重要的地位,本章将Android平台下网络编程的几种常见技术通过示例进行了介绍:用户可以通过Socket编程进行服务器/客户端编程;通过URL获得网络资源,通过HTTP请求网络资源,通过WebView浏览网络和执行HTML代码等。 第8章 网络编程 本章学习目标 重点: Socket编程 基于HTTP协议的网络编程 使用WebView进行开发 难点: Socket编程 如今手机的功能已远非打电话、发短信等功能可以概括,尤其是3G手机的诞生,无论是上网、娱乐,还是办公、学习,智能手机将是用户的首选工具。例如,手机上网、手机炒股、手机地图等等。通过本章的学习,读者可以掌握基本的网络编程,尽快感受Android给我们带来的丰富世界。 8.1 基于Socket套接字的通信 Socket通常称作“套接字”,用于描述IP地址和端口信息。编程方式可以说是比较底层的网络编程方式,其他的高级协议(如HTTP)都是建立在此基础之上的。 可以将套接字看作不同主机间的进程进行双向通信的端点,包含网络通信必需的5种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址和远地进程的协议端口。 另外,Socket编程可以跨平台,实现异构系统之间的通信。 8.1 基于Socket套接字的通信 要通过互联网进行通信,至少需要一对套接字:分别运行于客户端和服务器端。Java在包中提供了两个类Socket和ServerSocket来进行实现。 套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。对应于Java中的工作过程具体如下: (1)服务器监听。 (2)客户端请求。 (3)连接确认。 8.1.1 socket服务端的开发 服务器端开发是由ServerSocket类来具体实现,其构造方法包括: ServerSocket(int port); ServerSocket(int port, int backlog); ServerSocket(int port, int backlog, InetAddress bindAddr); 其中,port、backlog和bindAddr分别代表连接中另一方的端口、连接请求的最大队列长度和本机地址。 8.1.1 socket服务端的开发 try{ ServerSocket ss=new ServerSocket(2011); } catch(IOException e) { } catch(Exception ee) { } 该代码创建一个ServerSocket在端口2011监听客户请求,接收后则退出了。因此在实际应用中,它常常嵌于循环中,实现“不停地”监听。 8.1.1 socket服务端的开发 注意port参数的设置一定要小心。0~1023的端口号为系统所保留,例如http服务的端口号为80,telnet服务的端口号为21,ftp服务的端口号为23,所以最好选择一个大于1023的数,防止与系统发生冲突。 8.1.2 Socket客户端的开发 客户端开发是由Socket类来具体实现,其构造方法包括: Socket(InetAddreess address, int port); Socket(InetAddreess address, int port, boolean steam); Socket(String host ,int port); Socket(String host, int port, boolean stream); Socket(SocketImp imp1)。 Socket(String host, int port , InetAddreess localAddr, int localport); Socket(InetAddreess address, Int port, InetAddreess localAddr, int localport); 其中address表示IP地址,host表示主机名,port表示端口号,stream指明Socket是流还是数据报,localport表示本地主机的端口号,localAddr是本地机器的地址,impl是Socket的父类,既可以用来创建Socket类,也可以用来创建ServerSocket类。 8.1.2 Socket客户端的开发 try{ Sockets=new Socket(“02”,2011); } catch(IOException e) { } 在创建Socket或ServerSocket时,如果发生错误将产生IOException,在程序中必须对其进行
文档评论(0)