第17章 网络编程实例——局域网通信软件 Java语言具有非常强大的网络应用开发能力。本章通过实现一个简单的局域网通信软件,展示了Java语言网络编程知识在实际系统开发过程中的具体应用。本章实例主要涉及以下知识点。 Java网络编程知识; Java图形界面编程知识。 通过学习本章实例,读者需要重点掌握Java语言网络编程知识的具体应用。

Slides:



Advertisements
Similar presentations
学年度工作总结 —— 上海建桥学院 —— 上海建桥学院 实验室与资产管理处 实验室与资产管理处.
Advertisements

Java 大学实用教程 ( 第 3 版 ) 主讲:程继洪 第 1 章 Java 语言概述  本章导读 Java 语言的诞生Java 语言的诞生 学习 Java 的必要性 学习 Java 的必要性 Java 的特点及与 C/C++ 之关系Java 的特点及与 C/C++ 之关系.
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
县级数字图书馆推广计划 使用培训 杨路 中文在线 产品工程师
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
职业指导服务系统 欢迎了解职业指导服务系统!
计算机网络基础 主讲:华蓓 实验室:电一楼(安徽省计算与通讯软件重点实验室) Tel:
南京师范大学教育技术系 张 义 兵 南京 高中信息技术选修课的困境与出路 南京师范大学教育技术系 张 义 兵 南京
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
综合实验 ----实验选作(1/3) 智能五子棋游戏 1. 实验目的
服装数字图书馆 北京服装学院图书馆 2009年12月.
湖南省怀化市中小学信息技术 学科考试系统培训交流
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
第八章 网络课程的设计与开发.
T3汽修通总体介绍及软件应用 姓名:刘静静 2010年4月21日.
北京科技大学天津学院 信息工程系 面 向 对 象 程 序 设 计 第1讲 Java初探 主讲:于静.
網路小說劇情建構與伏線營造 Windows98.
爱迪科森 网上报告厅 WANGSHANGBAOGAOTING.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
转正述职报告 乐恩公司 史航
互联网时代班主任的挑战 万玮 2014年9月20日.
舌尖上的邵阳 Business And.
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
荷福威士顿机器人科技有限公司 上海荷福集团
管理系统使用注意事项 1.每个事业单位只有一张唯一的专用光盘。但为防止事业单位专用光盘损坏,可以自行刻录一张新的光盘作为备份。用于网上登记的计算机必须有光驱才行、计算机必须是xp或更好版本的的操作系统,浏览器必须是IE6.0版本以上。 2.事业单位专用光盘中“网下填表与上网提交”功能未开通,待开通后再告知大家。
初中生物成功教育教学模式培训 陆卫帼 2013年7月7日.
计算机基础与实训教材系列 《电脑办公自动化实用教程》.
项目二 Windows XP操作 任务3 管理与应用Windows 任务4 维护系统与使用常用工具软件
第1章 导论 倚动实验室.
JAVA开发Web Service快速入门
安裝JDK 安裝Eclipse Eclipse 中文化
IPV6 DHCP Server 建置 陳家祿 楊世偉.
張永華 主任 本模板来源于网络,由第一课件网整理发布,免费分享给大家使用。
学位授权审核材料填报及提交 系 统 操 作 介 绍
鄉村尋根-農具篇.
IShare 組員: 洪偉棟 廖建勛 林鈺修 指導教授: 陳毓璋.
组长:吴蔚 项目组成员:吴蔚,邱丁兰,汪琳莺
指導老師:王文彥 老師 學生:王冠樺、鄭培宇、許智惟、黃柏翎 崑山科技大學資訊工程系 2012/01/16
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
myApps柔性定制平台 一个可根据企业个性化需求快速搭建应用系统的工具平台 一个跟企业共成长的平台 一个成本低廉应用广泛的平台
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
網絡形態 及 網絡拓撲學.
Java基础入门 第1章 Java开发入门 · Java语言的特点 · Java开发环境的搭建 · 环境变量的配置 · Java的运行机制.
Android盤點系統 組別:第九組 組員:四資工三B 4980E046 宋佩鴻 四資工三B 4980E054 詹典易
辅导课程九.
研究与开发实践 辛 卫 第02周讲义.
專題J組 題目: 檢定考試管理系統 指導老師: 曾修宜 老師 組員: 曾聖棋 謝宗翰
U861院校专用版的安装流程 安装IIS中的WWW服务 安装SQL数据库 安装SQL SP4补丁 安装U861院校专用版.
RFID原理与应用 教师:朱华贵 2015年05月05日
封面 (资产管理软件)
指導教授:徐濟世 博 士 專題組員: 吳秀娟 劉繡禎 趙玉堂 簡孟嬋
第1章 网络操作系统概述.
计算机组装、维修及 实训教程 第17章 微机软件的安装与设置 2019年4月11日星期四.
Broadcast System For Mobile Device
電子公文系統 操作暨設定說明.
電腦基礎與網際網路 資訊安全 建立防火牆.
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
課程網站
2008能源與科技論壇暨研討會 自主型二足機器人之研製 鄭暉騰 倪世銓 李明哲 黃加慶 王仲淳 元智大學電機研究所
课程建设汇报 方宝富 合肥工业大学
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
售后培训系列之V9系统中心安装 SecManage 网安事业部 广州售后-王长绪.
方格紙上畫正方形.
案例分析: THE NEXTGEN POS SYSTEM
LogBase运维安全管理系统(堡垒机)使用说明
LogBase运维安全管理系统(堡垒机)使用说明
第十二章 Java网络编程 1.URL编程 2.Socket网络编程 3.Datagram网络编程.
Presentation transcript:

第17章 网络编程实例——局域网通信软件 Java语言具有非常强大的网络应用开发能力。本章通过实现一个简单的局域网通信软件,展示了Java语言网络编程知识在实际系统开发过程中的具体应用。本章实例主要涉及以下知识点。 Java网络编程知识; Java图形界面编程知识。 通过学习本章实例,读者需要重点掌握Java语言网络编程知识的具体应用。

17.1 实例概述 本章的实例将开发一款用于局域网内通信的软件。该通信软件采用“客户端/服务器”模式。服务器负责提供通信服务,如建立连接、处理请求数据等,并能与客户机对等的交互发送消息。客户机可以向服务器发送连接请求。连接建立后可以与服务器互发消息进行通信。该软件的工作流程大致如图17-1所示。

17.2 系统设计 对系统需求进行了充分的分析之后,在具体开发之前需要进行一下总体设计。系统设计包括系统总体结构、构建开发环境、确定系统工程目录这几个方面,下面分别对其进行介绍。

17.2.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 程序解释 下面对上述源程序中的关键实现部分给于重点说明。 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所示。 下面对上述流程图做下简要说明。 17.5.1 工作流程 客户端程序的工作流程图如图17-10所示。 下面对上述流程图做下简要说明。 (1)客户端端以指定主机、指定端口号为参数,创建一个Socket对象。 (2)向服务器端发出连接请求。连接成功建立后返回Socket对象。 (4)使用Socket对象创建输入、输出流对象。使用流对象的方法完成向服务器端发送和接受数据。 (5)通信完毕后,关闭和服务器端通信的流和通信的Socket。

17.5.2 源程序 客户端程序主要由business包的Client.java和window包的ClientFrame.java两个文件组成。下面分别是其对应的源程序。Client.java文件主要实现局域网通信中客户端的功能。

17.5.3 程序解释 下面对上述源程序中的关键实现部分给于重点说明。 17.5.3 程序解释 下面对上述源程序中的关键实现部分给于重点说明。 (1)程序入口为Client类的main()方法。main()方法创建了Client类的实体。客户端界面的生成和通信程序的启动都是在Client类的构造方法中完成。 (2)Client类的构造方法中首先创建了图形界面ClientFrame类的实体,并将其设置为可见。 (3)显示完图形界面后,Client类的构造方法调用startClient()方法启动通信程序。 (4)startClient()方法首先创建了Socket类的实例,用于请求指定服务器及指定端口的连接。 (5)与服务器端成功建立连接后,即可以向服务器发送消息进行通信。 (6)客户端程序接收到退出连接的消息后,退出无限循环,结束当前客户端的连接,并在图形界面上显示相关信息。

17.6 小结 本章实例是针对第十四章——Java网络编程知识给出的一个较完整的综合实例。该实例实现了一个简单的局域网通信软件,所涉及的知识点包括Java网络编程相关知识及Java图形界面。其中,读者要重点掌握的是Java网络编程知识的具体应用。灵活使用Java语言的网络编程知识,能够开发出更加复杂、强大的应用系统。下一章将介绍Java语言Web编程实例。