- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17章 网络编程实例——局域网通信软件.
第17章 网络编程实例——局域网通信软件 Java语言具有非常强大的网络应用开发能力。本章通过实现一个简单的局域网通信软件,展示了Java语言网络编程知识在实际系统开发过程中的具体应用。本章实例主要涉及以下知识点。 Java网络编程知识; Java图形界面编程知识。 通过学习本章实例,读者需要重点掌握Java语言网络编程知识的具体应用。 17.1 实例概述 本章的实例将开发一款用于局域网内通信的软件。该通信软件采用“客户端/服务器”模式。服务器负责提供通信服务,如建立连接、处理请求数据等,并能与客户机对等的交互发送消息。客户机可以向服务器发送连接请求。连接建立后可以与服务器互发消息进行通信。该软件的工作流程大致如图17-1所示。 17.2 系统设计 对系统需求进行了充分的分析之后,在具体开发之前需要进行一下总体设计。系统设计包括系统总体结构、构建开发环境、确定系统工程目录这几个方面,下面分别对其进行介绍。 17.2.1 系统总体结构 在对整个系统进行需求分析后,将系统功能划分为服务器端程序和客户端程序两大块。系统的功能结构图如图17-2所示。 其中,服务器端程序主要用于监听客户端的连接请求,连接建立后能够与客户端进行通信。客户端程序负责向服务器发出连接请求,连接建立后能够与服务器端进行通信。另外,两端的程序在一方断开后都能自动向对方发送信息提示。 17.2.2 构建开发环境 本系统是Java网络编程方面应用的实例。对于通信过程中的数据没有进行持久性保存,所以不需采用数据库系统。根据系统的实际情况,采用如下开发环境: 操作系统:Windows XP; 编程语言:JDK 6.0; 开发工具:Eclipse 3.2。 17.2.3 系统工程目录 在开发一个实际的应用系统的时候,应该规划好系统工程的文件结构。有规划的工程文件结构便于在开发过程中进行管理,也使得开发工作的内容更加清晰。系统的工程名称为jywtx,所包含的文件夹及功能包主要有以下几个方面。 src目录:用于存放系统的所有源代码。源代码按照包结构进行组织。 business包:存放业务实现类。 util包:存放系统的实用工具类,为其他包共用。 window包:存放系统的图形界面窗口类。 17.3 公共模块 在系统开发过程中,经常需要设计一些公共模块,供系统中其他模块共同调用。本系统的公共模块主要由util包来实现。util包主要用于存放一些实用工具类,系统所有模块中经常需要使用的一些工具类或系统常量等可以在该包中定义。本系统的util包只定义了一个Constant类,用于定义系统常量。 17.4 服务器端程序 服务器端程序主要用于监听客户端的连接请求。当客户端请求连接后能够处理请求信息,连接建立后能够与客户端进行通信等。 17.4.1 工作流程 服务器端程序的工作流程图如图17-4所示。 17.4.2 源程序 服务器端程序主要由business包的Server.java和window包的ServerFrame.java两个文件组成。下面分别是其对应的源程序。Server.java文件主要实现局域网通信中服务器端的功能。 17.4.3 程序解释 下面对上述源程序中的关键实现部分给于重点说明。 (1)程序入口为Server类的main方法。main方法创建了Server类的实体。服务器端界面的生成和监听服务的启动都是在Server类的构造方法中完成的。 (2)Server类的构造方法中首先创建了图形界面ServerFrame类的实体,并将其设置为可见。 (3)显示完图形界面后,Server类的构造方法调用startServer()方法启动服务。startServer()方法实现了端口监听、建立连接、通信等服务器端程序的主要核心业务。所以它也是服务器端程序的实现重点。 (4)startServer()方法首先创建了ServerSocket类的实例,开始监听指定端口。 (5)待接收到客户端的连接请求后,程序在图形界面上显示相关的连接信息。 (6)服务器端程序接收到退出连接的消息后,退出无限循环。 17.5 客户端程序 比较服务器端来说,客户端程序相对简单。客户端程序主要用于向服务器端发出连接请求,连接建立后能够与服务器端进行通信。 17.5.1 工作流程 客户端程序的工作流程图如图17-10所示。 下面对上述流程图做下简要说明。 (1)客户端端以指定主机、指定端口号为参数,创建一个Socket对象。 (2)向服务器端发出连接请求。连接成功建立后返回Socket对象。 (4)使用Socket对象创建输入、输出流对象。使用流对象的方法完成向服务器端发送和接受数据。 (5)通信完毕后,关闭和服务器端通信的流和通信的Socket。 17.5.2
文档评论(0)