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

下载本文档

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

文档简介

1、1,第十章 Java网络编程,2,Applet:应用层的网络编程 Java的套接字(Socket)编程:利用传输层(TCP或UDP)实现网络进程通信的编程。 基于Socket的网络通信可以理解为一种客户端/服务器模式。 服务器端在指定的端口等待客户来连接。客户端在需要的时刻向服务器发出连接请求,一旦客户端连接上,就按照设计的数据交换方法和格式进行数据传输。,10.1 Socket编程基本概念,服务器,客户端,3,10.2 使用TCP协议的Socket编程,TCP是一种可靠的、基于连接的网络协议,当两个网络进程准备基于TCP通信时,都必须首先建立各自的一个套接字(Socket)。 基于TCP的S

2、ocket通讯过程如下: 服务器建立套接字后,侦听来自网络的客户连接请求。 客户端通过套接字,指定服务器的IP地址和端口号,便可与服务器进行通信。,4,服务器端具体实现过程: ()创建ServerSocket对象,指定服务器监听的端口号; ()调用该ServerSocket对象的accept方法等待客户的连接; ()一旦有客户送来连接请求,accept方法就返回一个新的套接字对象(Socket类对象); ()通过该Socket对象,可以实现和客户端的通信 .ServerSocket .Socket,5,客户端具体实现过程: ()创建一个Socket类对象,指定所要连接服务器的IP地址和端口(服

3、务器接受连接,该对象就建立); () 通过该Socket对象,实现和服务器的通信,6,Accept(),创建ServerSocket对象,服务器,接收到客户连接请求,客户端,基于TCP的Socket通讯过程,Accept方法返回 一个Socket对象,创建Socket对象,连接请求,通过该Socket 对象与服务器交互,通过该Socket 对象与客户端交互,7,ServerSocket server=new ServerSocket(1414); /监听本机的1414端口 System.out.println(Socket监听服务已经启动); System.out.println(正在等待客户

4、端程序的连接); Socket socket=server.accept(); /等待客户端的连接请求 System.out.println(客户端已经成功连接); PrintWriter out=new PrintWriter(socket.getOutputStream(),true); /通过PrintWriter 类对象out向Socket对象的输出流写数据 out.println(服务器说:你好!); out.close();/关闭输出流 socket.close(); server.close();/关闭Socket连接,服务器端代码Server.java,例1:服务器向客户端发送

5、字符串“你好”,客户端将接收到的字符串输出,8,Socket socket=new Socket(localhost,1414); /向本地服务器的1414端口发出连接请求 BufferedReader in; in=new BufferedReader(new InputStreamReader(socket.getInputStream(); /通过BufferedReader类对象in从Socket对象的输入流中读数据 String info=in.readLine(); System.out.println(info); socket.close();/关闭连接,客户端代码Client

6、.java,9,例2:客户端可以与服务器端连续进行通信,ServerSocket server=new ServerSocket(1414); System.out.println(Socket监听服务已经启动); System.out.println(正在等待客户端程序的连接); Socket socket=server.accept(); BufferedReader in; in=new BufferedReader(new InputStreamReader(socket.getInputStream(); /通过BufferedReader类对象in从Socket对象的输入流中读数据

7、 while(true) String info=in.readLine(); if(info!=null) System.out.println(客户端:+info); if(info.equals(close) in.close();socket.close();server.close();break; ,服务器端代码Server.java,10,Socket socket=new Socket(localhost,1414); PrintWriter out; out=new PrintWriter(socket.getOutputStream(),true); /通过PrintWri

8、ter 类对象out向Socket对象的输出流写数据 BufferedReader serverin; serverin=new BufferedReader(new InputStreamReader(System.in); /通过BufferedReader类对象serverin从键盘上读数据 String str=; while(!str.equals(close) str=serverin.readLine(); out.println(str); out.close(); serverin.close(); socket.close();,客户端代码Client.java,11,10

9、.3 使用UDP协议的Socket编程,UDP协议通信特点: 通信前不需要预先建立连接,速度快,不能保证所有数据都能送到目的地; 每次发送的数据独立路由,都需要加上对方的IP地址和端口 Java支持UDP的两个主要的类: .DatagramSocket, 数据报套接字,可用于发送和接收数据报 .DatagramPacket 数据报 例:基于UDP的Socket通信程序,12,URL URL即统一资源定位器(Uniform Resource Locator) ,用来表示Internet上的资源,如web页、图片等。 URL的基本表示方法是: 协议:/主机名:端口号/文件名 下面是几个合法的URL

10、例子: download/index.htm http:/ :8080/download/index.htm ftp:/local/demo/readme.txt,10.4 URL及Java的URL类,13,URL类(.URL ) Java的URL类封装了使用统一资源定位器访问一个Internet资源的方法。 创建一个URL对象: URL url=new URL(“”);,14,try URL url=new URL(“”); BufferedReader d; d=new BufferedReader(new InputStreamReader(url.openStream(); /打开UR

11、L的输入流,并将其从字节流转为字符流 String inputLine; while(inputLine=d.readLine()!=null) System.out.println(inputLine); d.close(); catch(Exception e),例:下列程序可以看到中国矿业大学主页的html文件代码 (urlhtml.java),15,JSP即JavaServerPage,它是Java开发中最具代表性的Web开发的解决方案。它具备Java的优点:稳定、安全、可移植性好。 JSP开发环境:可用DreamWeaver+Tomcat DreamWeaver编写JSP代码,Tomcat

温馨提示

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

评论

0/150

提交评论