基本信息
文件名称:Java程序设计(第3版)课件 单元5_任务5 网络聊天程序设计.ppt
文件大小:869 KB
总页数:25 页
更新时间:2025-03-11
总字数:约4.97千字
文档摘要

Java程序设计Java程序设计任务五:网络聊天程序设计单元五:Java语言高级程序设计教学目标知识目标网络通信的概念;网络协议概念;Socket的概念;网络通信编程的步骤。能力目标能够编写网络通信程序;会进行端口操作。内容4任务陈述123知识准备任务实施任务拓展任务实训51.任务陈述任务描述本次任务要运用套接字实现一个多人网络聊天程序。任务要求如下:在C/S(客户端/服务器)模式下运行。服务器端负责监听和转发客户端发送的消息。实现聊天记录的保存和查看。2.知识准备5.1网络通信与网络协议基础计算机网络通常由三个部分组成,分别是资源子网、通信子网和通信协议。通信子网:就是计算机网络中负责数据通信的部分;资源子网:计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作;通信协议:通信双方必须共同遵守的规则和约定就称为通信协议,它的存在与否是计算机网络与一般计算机互连系统的根本区别。2.知识准备5.1.1计算机网络的体系结构2.知识准备5.1.2计算机网络的协议所谓协议(Protocol)就是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述。传输控制协议TCP:TCP是一种面向连接的传输层协议。IP协议(InternetProtocol)网络之间互连的协议的缩写,中文简称为“网协”。UDP:用户数据报协议。超文本传输协议HTTP超文本传输协议HTTP是TCP/IP协议族的应用层协议。文件传输协议FTPFTP协议可以支持文件在网络上不同机器之间的来回拷贝。2.知识准备5.2基于TCP/IP的网络编程原理在TCP/IP协议中,TCP提供可靠的连接服务,采用三次握手建立一个连接。2.知识准备5.3TCP/IP网络编程相关类5.3.1Socket类Socket类用于客户端程序,当客户端与服务端通讯的时候,客户程序会在客户端创建一个Socket对象,建立服务器和客户端之间的连接。Socket类的常用构造方法:Socket(StringhostName,intport)创建一个流套接字并将其连接到指定主机上的指定端口号。Socket(InetAddressa,intport)创建一个流套接字并将其连接到指定IP地址的指定端口号。2.知识准备5.3.2ServerSocket类ServerSocket类用于服务端程序,服务端需要创建ServerSocket对象监听特定端口,接收客户连接请求,并基于该请求执行某些操作,然后向请求者返回结果。常用构造方法:ServerSocket(intport)创建绑定到特定端口的服务器套接字。ServerSocket(intport,intmaxqu)创建绑定到特定端口的服务器套接字,maxqu为队列的最大长度。其他常用方法:accept()方法用于等待客户端触发通信close()方法用于关闭服务器端建立的套接字。2.知识准备5.3.3Socket通信方式利用Socket方式进行数据通信与传输的整个过程如图5-18所示:Socket对象代表主叫方,ServerSocket对象代表被叫方,执行accept()方法表示同意建立连接。连接一旦建立,会自动创建一个输入流和一个输出流,通过这两个流可以实现数据的发送。accept()建立连接输入流输出流SocketSocket输入流输出流ServerSocket2.知识准备【例5-20】演示如何创建服务端程序。要求:服务器启动后等待客户端连接,有客户端连接时,执行accept()方法返回一个Socket对象。通过此Socket对象可获得输入流和输出流。通过输入流,可获取客户端传入的数据。如果获取的数据为“JAVA”,则通过输出流向客户端传送“有效口令”四个字,否则向客户端传送“无效口令”四个字。2.知识准备//省略类的定义和异常处理……ServerSocketss=newServerSocket(4001);Socketso=ss.accept();BufferedReaderb=newBufferedReader