Java2实用教程第4版-第13章-Java网络编程.ppt
《Java2实用教程第4版-第13章-Java网络编程.ppt》由会员分享,可在线阅读,更多相关《Java2实用教程第4版-第13章-Java网络编程.ppt(25页珍藏版)》请在三一办公上搜索。
1、第 1 页1 页,注意:开始用功了!,第 1 页2 页,Java2实用教程(第4版)第13章,配合例子源代码一起使用,Power point 制作:耿祥义 张跃平,Java网络编程,第 1 页3 页,导读,主要内容URL类InetAdress类套接字UDP数据报广播数据报Java远程调用(RMI),第 1 页4 页,13.1 URL类,URL类是包中的一个重要的类,URL的实例封装着一个统一资源定位符(Uniform Resource Locator),使用URL创建对象的应用程序称作客户端程序。一个URL对象通常包含最基本的三部分信息:协议、地址、资源。,第 1 页5 页,13.1.1 UR
2、L的构造方法,URL类通常使用如下的构造方法创建一个URL对象:public URL(String spec)throws MalformedURLException public URL(String protocol,String host,String file)throws MalformedURLException,第 1 页6 页,13.1.2 读取URL中的资源,URL对象调用 InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源读入到客户端。,例子1(Example13_1.java,Loo
3、k.java)用户在命令行窗口输入网址,读取服务器上的资源.运行效果如图13.1.,第 1 页7 页,13.2 InetAdress类 13.2.1 地址的表示,Internet上的主机有两种方式表示地址:1域名 例如 2IP地址 例如 包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址,例如。,第 1 页8 页,13.2.2 获取地址,1获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(String s);获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息:2获取
4、本地机的地址我们可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。例子2,第 1 页9 页,13.3 套接字 13.3.1 套接字,IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。端口号被规定为一个16位的065535之间的整数。当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字)。,第 1 页10 页,13.3.2 客户端套接字,客户端的程序使用Socket类建立负责连接到服务器的套接字对象。建立连接
5、到服务器的套接字对象:try Socket mysocket=new Socket(“http:/192.168.0.78”,1880);catch(IOException e)与mysocket相关的方法 getInputStream()获得一个输入流 getOutputStream()获得一个输出流 用getInputStream()得到的输入流接到另一个DataInputStream数据流上 用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上,第 1 页11 页,13.3.3 ServerSocket对象与服务器端套接字_1,服务器必须建立
6、一个ServerSocket对象,该对象通过将客户端的套接字对象和服务器端的一个套接字对象连接起来,从而达到连接的目的。建立ServerSocket对象:try ServerSocket serverForClient=new ServerSocket(2010);catch(IOException e)使用方法accept()将客户的套接字和服务器端的套接字连接起来,代码如下所示:try Socket sc=serverForClient.accept();catch(IOException e)所谓“接收”客户的套接字连接就是accept()方法会返回一个和客户端Socket对象相连接的S
7、ocket对象。,第 1 页12 页,13.3.3 ServerSocket对象与服务器端套接字_2,客户端的套接字获得的输入输出流和服务器端的套接字获得的输出输入流互相连接.,第 1 页13 页,例子3中,客户端向服务器问了三句话,服务器都给出了一一的回答。首先将例子3中服务器端的Server.java编译通过,并运行起来,等待客户的呼叫,然后运行客户端程序。客户端运行效果如图13.3,服务器端运行效果如图13.4。,客户端(Client.java),服务器端(Server.java),第 1 页14 页,13.3.4 使用多线程技术,为了防止堵塞线程,服务器端收到一个客户的套接字后,就应该
8、启动一个专门为该客户服务的线程。在下面的例子4中,客户使用Socket类不带参数的构造方法Socket()创建一个套接字对象,该对象需调用 public void connect(SocketAddress endpoint)throws IOException请求和参数SocketAddress指定地址的套接字建立连接。,为了使用connect方法,可以使用SocketAddress的子类InetSocketAddress创建一个对象,InetSocketAddress的构造方法是:InetSocketAddress(InetAddress addr,int port),第 1 页15 页,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java2 实用教程 13 Java 网络 编程
链接地址:https://www.31ppt.com/p-5435940.html