第十六章网络编程基础-天津工程职业技术学院

上传人:aa****6 文档编号:54734481 上传时间:2018-09-18 格式:PPT 页数:19 大小:484.50KB
返回 下载 相关 举报
第十六章网络编程基础-天津工程职业技术学院_第1页
第1页 / 共19页
第十六章网络编程基础-天津工程职业技术学院_第2页
第2页 / 共19页
第十六章网络编程基础-天津工程职业技术学院_第3页
第3页 / 共19页
第十六章网络编程基础-天津工程职业技术学院_第4页
第4页 / 共19页
第十六章网络编程基础-天津工程职业技术学院_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《第十六章网络编程基础-天津工程职业技术学院》由会员分享,可在线阅读,更多相关《第十六章网络编程基础-天津工程职业技术学院(19页珍藏版)》请在金锄头文库上搜索。

1、天津工程职业技术学院计算机工程系软件技术教研室,李继唐, Tel:25924748,JAVA应用程序开发,第十六章 网络编程基础,16.1 网络编程基本概念,一、几个术语:1. URL地址:它唯一地标识Internet环境下的某文件的位置。(如:http:/ URL格式: 协议名:/资源名 协议名:指明获取资源所用的传输协议,如:http、ftp、gopher、new、mailto、file等. 资源名:是资源的完整地址,包括主机IP地址(或主机域名)、端口号、完整文件名、HTML文件中参考位置等。,2. URL类:JDK中为编程访问远程主机文件所提供的类(包含在J包中)。 3. URL对象:

2、将远程主机中的某一资源文件的URL地址转化为Java程序中的URL类对象,该对象即代表远程主机文件。(如WEB页、文本文件、图形图象文件、音频视频文件等),二、 URL类编程步骤: 1. 将远程文件的URL地址转化为Java程序中的URL类对象; 2. 调用URL类中的openStream()以打开远程文件(返回为二进制格式的InputStream类对象,逐个字节read()它,但对文本文件可以经过流格式转化为缓冲字符流格式BufferReader)。 3. 利用文件流类中的read()读取远程文件内容。 4. 关闭远程文件流。,三、编程要点:URL类的构造方法都抛出MalformedURLE

3、xception非运行时异常,因此生成URL对象时,必须对这一异常进行处理.如: try URL myURL=new URL(“http:/ catch (MalformedURLException e) System.out.println(“MalformedURLException:“+e); 实例讲解:URLRead.java AppletReadFile.java,四、URL类中的getContent()方法,功能:它建立一个与指定资源的连接并可直接获取URL指定的资源,并且试图决定流的MIME类型并将该流转换为相应的Java Object。 应用:例如,如果我们创建了一个指向GIF

4、格式图片的URL,getContent()方法将识别流的类型为“image/gif”或“image/jpeg”,并返回Image类的一个实例.该Image对象包含该GIF图片的一个拷贝.即我们可以通过getContent()方法将资源取到一个Java对象中,然后进行相应处理. 实例讲解:URLImage.java,16.2 Applet的网络编程 一、同一页面中的Applet之间的相互通讯,1. 相互通讯编程思路: (1)在本Applet程序中先利用getAppletContext()获取当前的浏览器环境对象,它返回一个AppletContext类对象; (2)然后再调用其中的getApple

5、t()方法获取对方的Applet程序类的对象。,2. 编程步骤: (1)在HTML文档中利用多个(Applet)标签来内嵌各个Applet程序并采用name属性来命名各个Applet程序的ID。例如:(2)在Applet程序内借助于getApplet()获取对应Applet程序,然后通过调用对方Applet程序中public型成员。 public void actionPerformed (ActonEvent e) Applet applet1=getAppletContext().getApplet(“One”);/必须将返回的Applet对象强制为本派生类对象(One)applet1)

6、. heFun() ; 示例 applet1.java applet2.java applettoapplet.htm,二、在HTML文件中为Applet程序提供外部指定参数,1. 应用目的:使Applet程序的应用更加灵活。 2. 编程基本方法: 在的起始和终止标签之间,利用来指定各个参数名和参数值(每个参数对应一个标签)在Applet程序的init()函数内调用getParameter()来获取指定名称的参数值(由于它返回一个String对象,对于数值型还应转换它为对应的数值!) OkButton=new Button(getParameter(“ButtonText“);,三、Apple

7、t与浏览器之间的通信,编程方法: 利用方法getCodeBase()、getDocumentBase()、getParameter()、 showStatus()(可以在浏览器的状态条上显示出状态信息)、showDocument()等函数来实现。 2. 实例:利用showDocument()实现网页跳转(到http:/www.myD try getAppletContext().showDocument(new URL(“http:/www.myD catch(MalformedURLException e) ,四、Applet与Script之间的通信,编程方法: 利用Document对象来访

8、问网页中的Applet。 2. 实例:ScriptTOJava.java,16.3、基于TCP/IP协议Socket通信,一、Socket的基本概念 1. 套接字Socket:网络中双向通讯中的某一端称为一个Socket(主要有客户端套接字Socket类对象、服务器端套接字ServerSocket类对象)。 2. 通讯原理:Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。,3. 端口号:服务器端所提供的功能编码 (如:WWW:80、telnet:21、ftp: 23

9、、smtp:25、pop3:110等)。 要点: 端口是一个信息缓冲区,用于保留Socket中的输入/输出信息; 端口号是一个16位无符号整数,范围是0-65535,以区别主机上的每一个程序(端口号就像房屋中的房间号); 低于256的短口号保留给标准应用程序,比如pop3的端口号就是110,每一个套接字都组合进了IP地址、端口号,这样形成的整体就可以区别每一个套接字 。 UNIX操作系统中端口的分配: 低于1024的端口:捆绑拥有超级用户权限的应用, 高于1024的端口:动态或临时分配给客户机应用程序。,4. 通讯双方的程序形式: 客户端程序形式:可以为Applition或Applet程序。

10、服务器端程序形式:只能为应用程序以提供服务。 5. 通讯的方式: “一对一”(一个服务器对应一个客户机); “一对多”(一个服务器对应多个连接的客户机)。,二、获得服务器及客户机的IP地址,1. 通过调用Socket类中的getInetAddress()可以获得远程主机的IP地址,getPort()可以获得远程主机的端口号。 注意:在服务器中调用它将获得客户机的IP地址,而在客户机中调用它将获得服务器的IP地址。 2. 通过调用Socket类中的getLocalAddress()可以获得本机的IP地址、getLocalPort()可以获得本机的端口号。 注意:在服务器中调用它将获得服务器的IP

11、地址,而在客户机中调用它将获得客户机的IP地址。,获得服务器的IP地址(通过名字确定机器的IP地址 ),try InetAddress myServer= InetAddress.getByName(““);String hostName = myServer.getHostName(); catch (UnknownHostException e) 注:InetAddress类,存储远程系统的IP地址,根据主机名,获得IP地址,根据IP地址,获得主机名,三、Socket通讯的编程步骤,编程步骤 : 根据程序的身份分别创建出客户端和服务器端套接字以联通。 双方利用Socket类中的getInputStream()、getOutputStream()得到对应的输入输出流。 双方读写数据(输入输出)。 关闭Socket及ServerSocket流(应先关闭输入输出流)。 实例一:SocketServer/SocketClient 实例二:两个客户之间的相互通讯SocketServerAppOneAppTwo 实例三:GUI Server Client,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号