第十一章 网络编程.ppt_第1页
第十一章 网络编程.ppt_第2页
第十一章 网络编程.ppt_第3页
第十一章 网络编程.ppt_第4页
第十一章 网络编程.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第十一章网络编程 11 1网络基础11 2创建和使用URL访问网上资源11 3使用TCP IP的套接字进行通信11 4使用无连接的数据报 UDP 进行通信 2 11 1网络基础 互联网上的计算机之间的通讯是通过TCP TransportControlProtocol 或UDP UserDatagramProtocol 协议 如下图所示 第十一章网络编程 3 11 1网络基础 1 TCP协议 定义 TCP是一个基于连接的协议 它能够提供两台计算机之间的可靠的数据流 HTTP FTP Telnet等应用都需要这种可靠的通信通道2 UDP协议定义 UDP是从一台计算机向另一台计算机发送称为数据报的独立数据包的协议 该协议并不保证数据报是否能正确地到达目的地 它是一个非面向连接的协议 第十一章网络编程 4 11 1网络基础 3 端口 PORT 在互联网上传输的数据都包含有用来识别目的地的IP地址和端口号 IP地址用来标识网络上的计算机 而端口号用来指明该计算机上的应用程序 第十一章网络编程 5 11 1网络基础 3 端口 PORT 端口号范围为0 65536 其中低于1024的端口号保留给那些已定义的服务 用户不能使用 如FTP为21 TELNET为23 HTTP为80 4 JDK中的网络类通过包中的类 java程序能够使用TCP或UDP协议在互联网上进行通讯 第十一章网络编程 6 11 2创建和使用URL访问网上资源 1 什么是URL2 创建URL3 获得URL对象的各个属性4 使用URL来获得网络资源5 连接一个URL6 使用URLConnection读写网络资源 第十一章网络编程 7 11 2创建和使用URL访问网上资源 1 什么是URLURL UniformResourceLocator 是对互联网上的资源的引用一个URL包括两个主要部分 协议标识符 HTTP FTP Gopher File和News资源名字 主机名 文件名 端口号 引用例如 80 docs books tutorial index html DOWN 第十一章网络编程 8 11 2创建和使用URL访问网上资源 2 创建URL在Java程序中 可以创建表示URL地址的URL对象 URL对象表示一个绝对URL地址 但URL对象可用绝对URL 相对URL和部分URL构建 第十一章网络编程 9 11 2创建和使用URL访问网上资源 2 创建URL例如 pages work html 第十一章网络编程 10 11 2创建和使用URL访问网上资源 2 创建URL如果创建失败 try URLmyURL newURL catch MalformedURLExceptione exceptionhandlercodehere 第十一章网络编程 11 11 2创建和使用URL访问网上资源 3 获得URL对象的各个属性getProtocolgetHostgetPortgetFilegetRef见例题 ParseURL java 第十一章网络编程 12 11 2创建和使用URL访问网上资源 4 使用URL来获得网络资源URL使用openStream 方法可以获得它的输入流 格式 inputStreamopenStream 见例题 URLReader java 第十一章网络编程 13 11 2创建和使用URL访问网上资源 5 连接到一个URL类URLConnection的功能是java程序与服务器上的URL建立通信连接 try URLyahoo newURL yahoo openConnection catch MalformedURLExceptione newURL failed catch IOExceptione openConnection failed 第十一章网络编程 14 11 2创建和使用URL访问网上资源 6 使用URLConnection读写网络资源1 使用URLConnection读信息使用getInputStream 方法见例题 URLConnectionReader java 第十一章网络编程 15 11 2创建和使用URL访问网上资源 6 使用URLConnection读写网络资源2 使用URLConnection写信息由于安全性的约束 java的程序只能对特定的URL进行写的操作 即服务器上的CGI 公共网关接口 程序 步骤 CreateaURL OpenaconnectiontotheURL SetoutputcapabilityontheURLConnection Getanoutputstreamfromtheconnection Writetotheoutputstream Closetheoutputstream 见例题 Reverse java 第十一章网络编程 16 11 3使用TCP IP的套接字 Socket 进行通信 什么是Socket 使用Socket进行网络通信的过程使用ServerSocket和Socket实现服务器端和客户端的Socket通信实现服务器支持多个客户 第十一章网络编程 17 11 3使用TCP IP的套接字 Socket 进行通信 什么是Socket Socket是连接运行在网络上的两个程序间的双向通讯的端点 第十一章网络编程 18 11 3使用TCP IP的套接字 Socket 进行通信 2 使用Socket进行网络通信的过程服务器程序将一个套接字绑定到一个特定的端口 并通过此套接字等待和监听客户的连接请求 客户程序根据服务器程序所在的主机名和端口号发出连接请求 第十一章网络编程 19 11 3使用TCP IP的套接字 Socket 进行通信 2 使用Socket进行网络通信的过程如果一切正常 服务器接受连接请求 并获得一个新的绑定到不同端口地址的套接字 客户和服务器通过读 写套接字进行通讯 第十一章网络编程 20 11 3使用TCP IP的套接字 Socket 进行通信 3 使用ServerSocket和Socket实现服务器端和客户端的Socket通信 第十一章网络编程 21 11 3使用TCP IP的套接字 Socket 进行通信 3 使用ServerSocket和Socket实现服务器端和客户端的Socket通信总结 1 建立Socket连接2 获得输入 输出流3 读 写数据4 关闭输入 输出流5 关闭Socket 第十一章网络编程 22 11 3使用TCP IP的套接字 Socket 进行通信 3 使用ServerSocket和Socket实现服务器端和客户端的Socket通信见例题 EchoServer javaEchoClient java 第十一章网络编程 23 11 3使用TCP IP的套接字 Socket 进行通信 4 实现服务器支持多客户机通信服务器端的程序需要为每一个与客户机连接的socket建立一个线程 来解决同时通信的问题 见例题 EchoServer1 javaEchoServerThread javaEchoClient java 第十一章网络编程 24 11 4使用无连接的数据报 UDP 进行通信 1 什么是Datagram 数据报是网上传输的独立数据包 数据报是否能正确地到达目的地 到达的时间 顺序 内容的正确性均没有保障 java中Datagram是DatagramPacket类的对象 DatagramSocket类利用UDP协议来实现客户与服务器的Socket send 发送数据报receive 接收数据报 第十一章网络编程 25 11 4使用无连接的数据报 UDP 进行通信 2 利用UDP进行通信的过程 第十一章网络编程 DatagramSocket DatagramPacket buf len socket receive packet packet getAddress packet getPort DatagramPacket buf len address port socket send packet DatagramPacket buf len DatagramPacket buf len address port socket send packet DatagramPacket buf len socket receive packet 服务器 客户 26 11 4使用无连接的数据报 UDP 进行通信 2 利用UDP进行通信的过程QuoteServer javaQuoteServerThread javaQuoteClien

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论