《(34)--第11章-Java程序设计网络编程(1).ppt》由会员分享,可在线阅读,更多相关《(34)--第11章-Java程序设计网络编程(1).ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第11章 网络编程Java程序设计知识目标网络编程概述网络编程三要素UDP编程TCP编程能力目标能会定义和使用类中的方法;能会使用继承来提高面向对象中的程序扩展性和可维护性能会使用面向对象的方法来完成程序设计应用面向接口编程的思想解决实际问题本章教学目标Java程序设计本章内容1、TCP编程2、UDP编程Java程序设计第1节 TCP编程4任务陈述任务陈述123知识准备知识准备任务实施任务实施任务拓展任务拓展任务实训任务实训5Java程序设计知识目标网络协议概念;Socket的概念;网络通信编程的步骤。能力目标能够编写网络通信程序;会进行端口操作。教学目标Java程序设计1 任务陈述任务描述:
2、任务描述:本次任务要运用套接字实现一个网络聊天程序。任务要求如下:在 C/S(客户端/服务器)模式下运行。服务器端和客户端即可接受对方的数据,也可发送的消息。运行结果:运行结果:Java程序设计2 知识准备11.1 网络通信三要素IP地址:InetAddress网络中设备的标识,不易记忆,可用主机名端口号用于标识进程的逻辑地址,不同进程的标识传输协议通讯的规则常见协议:TCP,UDPJava程序设计2 知识准备1 IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中,这个标识号就是IP地址。那么
3、,我们如果获取和操作IP地址呢?为了方便我们对IP地址的获取和操作,java提供了一个类InetAddress 供我们使用。Java程序设计2 知识准备InetAddress类的使用没有构造方法,那么如何使类提供的功能呢?获取对象的方法:getByName、getLocalHostInetAddress ia=InetAddress.getLocalHost();要掌握的方法主机名:getHostName主机Ip地址:getHostAddressJava程序设计2 知识准备2 端口号物理端口 网卡口逻辑端口 我们指的就是逻辑端口A:每个网络程序都会至少有一个逻辑端口B:用于标识进程的逻辑地址,
4、不同进程的标识C:有效端口:065535,其中01024系统使用或保留端口。Java程序设计2 知识准备3 协议UDP和TCPUDP无连接不可靠协议速度快TCP适合大数据量传输;三次握手完成连接;可靠协议;效率稍低Java程序设计2 知识准备4 SocketSocket套接字:网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。Socket原理机制:通信的两端都有Socket。网络通信其实就是Socket间的通信。数据在两个Socket间通过IO传输。Java程序设计2 知识准备Socket通信机制Java程序设计2 知识准备11.2 TCP方式网络通信1 TCP网
5、络编程相关类(1)Socket类Socket类用于客户端程序,当客户端与服务端通讯的时候,客户程序会在客户端创建一个Socket对象,建立服务器和客户端之间的连接。Java程序设计2 知识准备Socket类的常用构造方法:Socket(String hostName,int port)Socket(InetAddress a,int port)Socket的成员方法:getInputStream(),返回输入流对象getOutputStream,返回输出流对象Java程序设计2 知识准备(2)ServerSocket类ServerSocket 类用于服务端程序,服务端创建ServerSocke
6、t对象监听特定端口,接收客户连接请求,并向请求者返回结果。常用构造方法:ServerSocket(int port)创建绑定到特定端口的服务器套接字。常用方法:accept()方法用于等待客户端触发通信,建立连接的Socket对象。close()方法:关闭服务器端建立的套接字。Java程序设计2 知识准备2 Socket通信方式accept()建立连接输入流输出流SocketSocket输入流输出流ServerSocketJava程序设计2 知识准备3 TCP网络通信演示11.3.1 演示如何创建服务端程序11.3.2 演示如何创建客户端程序11.3.3 演示如何实现网络通信Java程序设计3
7、 任务实施实现思路综合运用界面设计、I/O流、线程和Socket技术实现本任务中的网络聊天程序。首先进行界面设计,每个界面添加一个文本域和一个文本框其次,分别在客户端和服务器端创建各自的套接字对象,并在服务器端调用accept监听连接第三,文本框增加动作监听,将输入信息作为输出流发送到对方第四,窗体实现Runnalbe接口,重写run方法,通过增加线程,去监听是否有对方发送过来的信息,有则接收信息,并显示Java程序设计3 任务实施任务代码Java程序设计4 任务拓展URL类:可以定位互联网上任意一台服务器上的文件。一个URL对象 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以
8、是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。URL 类提供 API 来访问 Internet 上的信息。Java程序设计4 任务拓展URL类的构造方法:URL(String urlname)根据 String 表示形式创建 URL 对象.URL(String protocol,String hostname,int port,String path)根据指定 protocol、host、port 号和 file 创建 URL 对象.URL(String protocol,String hostname,String path)根据指定的 protocol
9、名称、host 名称和 file 名称创建 URL.Java程序设计4 任务拓展演示URL类中几个方法的使用。URL url=new URL(http:/:80/root/htmlfiles/index.html);System.out.println(URL中的主机是:+url.getHost();System.out.println(使用的协议是:+url.getProtocol();System.out.println(使用的端口是:+url.getPort();System.out.println(调用的文件是:+url.getFile();InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源读入到客户端Java程序设计5 任务实训一、实训目的掌握创建基于TCP有连接的网络应用程序;掌握创建服务端套接字的方法;掌握创建客户端套接字的方法;掌握从连接中读取信息;掌握向连接中写入信息。二、实训内容用Socket实现客户和服务器交互的聊天程序。Java程序设计5 任务实训三、简要提示 定义服务端程序,监听并接受多个客户端的连接。定义客户端,负责将用户的输入信息发送到服务端。服务端程序接受客户信息并将处理结果发回客户端。四、实训思考完善聊天系统,增加设置文本格式、颜色、发送图片等功能。