局域网通信java课程设计

上传人:自*** 文档编号:79780051 上传时间:2019-02-18 格式:DOCX 页数:35 大小:379.62KB
返回 下载 相关 举报
局域网通信java课程设计_第1页
第1页 / 共35页
局域网通信java课程设计_第2页
第2页 / 共35页
局域网通信java课程设计_第3页
第3页 / 共35页
局域网通信java课程设计_第4页
第4页 / 共35页
局域网通信java课程设计_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《局域网通信java课程设计》由会员分享,可在线阅读,更多相关《局域网通信java课程设计(35页珍藏版)》请在金锄头文库上搜索。

1、本科生课程设计课程名称Java程序设计 课程设计题 目局域网通信学 号201440930236学生姓名王小冬所在专业信息工程所在班级信工2班成 绩 课程设计时间:2017年5月 日-2017年5月 日目录摘 要- 1 -引 言- 1 -设计目的与任务- 1 -系 统 设 计- 1 -1.系统目标- 1 -2.系统功能结构- 2 -3.数据库设计- 2 -1数据库分析- 2 -2数据库逻辑结构设计- 3 -3 文件夹组织结构- 3 -4.主窗体设计- 4 -5.公共模块设计- 4 -6.系统托盘模块设计- 4 -7.系统操作模块设计- 5 -8. 用户管理模块设计- 6 -9. 通讯模块设计-

2、7 -课程设计总结- 8 -参考文献- 8 -附录- 9 -EQ.JAVA- 9 -Dao.JAVA- 24 -UserTreeRanderer接口- 29 -局域网内部通信摘 要局域通信使亲友的沟通突破时空极限,使人与人的沟通突破上下级极限,使陌生人的沟通突破环境极限,使自我与外界的沟通突破心理极限。作为使用频率最高的网络软件,类似QQ软件已经突破了作为技术工具的极限,被认为是现代交流方式的象征,并构建起一种新的社会关系。它是迄今为止对人类社会生活改变最为深刻的一种网络新形态,没有极限的沟通将带来没有极限的生活。引 言Java语言是SUN公司于1995年5月推出的新一代面向对象的计算机通用编

3、程语言,是继WWW之后又一引起世界轰动的产品。Java语言的特点是跨平台和强大的网络编程功能。在Java语言诞生之前,Internet已存在,所以Java语言本身就封装了大量进行网络编程的类库,使得网络编程功能强大,同时又简化了网络编程的操作。因此利用Java语言可以开发出功能强大的网络应用程序。本次课程设计的是局域网中的通信程序设计,能够实现局域网的内部通讯、增添好友、群聊功能。程序设计有点复杂,逻辑性很强,而且代码量超多,但是此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的逻辑能力。因此,我觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一

4、些铺垫。设计目的与任务本课程设计的目的和任务:通过Java程序设计的一些重要理论基础来实现“局域网内通信”, 该程序具有添加删除好友、局域网自动识别在线用户、即时通讯、群聊功能。实现技术:Java、Eclipse及JAVA数据库,本设计操作简单、方便,快捷、准确、数据存储安全可靠,针对自身特点去除了不必要的冗余东西,使系统负担最小,速度最快;采用更高的安全机制,使数据更加安全,用户可以放心的使用。系 统 设 计1.系统目标 根据企业对内部通讯系统的要求,本系统可以实现以下目标: 操作简单方便、界面简洁美观。 在通讯窗口显示对方 IP 信息。 局域网内用户自动搜索。 系统运行稳定、安全可靠。 2

5、.系统功能结构 企业内部通讯系统信息通讯用户管理系统设置用户搜索访问对方主机发送信史 企业内部通讯系统的功能结构如图 1 所示。 图 1 企业内部通讯系统的功能结构图 3.数据库设计 1数据库分析 本系统是一个桌面应用程序,它可以直接在本地计算机上运行,而不需要像 Web 应用那样部署到指定的服务器中。所以企业内部通讯系统的数据库应该随系统存在,即数据库和企业内部通讯系统在同一个计算机中,将数据库和应用程序捆绑在一起,可以节省开销、提升系统安全性。本系统采用 JavaDB 数据库。其数据库运行环境如下: 硬件平台 CPU:P4 1.6GHz。 内存:128MB 以上。 硬盘空间:100MB。

6、软件平台。 操作系统:Windows 2003。 数据库:JavaDB。 Java 虚拟机:JDK 6.0。 2企业内部通讯系统的 ER 图 企业内部通讯系统包含用户实体,该实体用于记录用户信息。 用户实体是企业内部通讯系统的通讯用户,它记载了系统搜索或添加的所有用户信息。用户实体主要包括用户 IP 地址、主机名称、用户名称、提示文本和头像信息,如图 2 所示。 用户 IP地址 头像用户名称提示文本主机名称 图2 用户实体ER图 2数据库逻辑结构设计 在本系统中创建了一个数据库 db_EQ,该数据库只包含一张用户信息数据表,下面介绍该数据表的逻辑结构。 用户信息表(tb_users)主要用来保

7、存企业内的通讯用户,即职工信息。表 tb_users 的结构如表 1 所示。 表 1 表 tb_users 的结构 字 段 名 数 据 类 型 是 否 为 空是 否 主 键 默 认 值 描 述 ip varchar(16) No Yes 用户 IP 地址 host varchar(30) Yes No Null 主机名称 name varchar(20) Yes No Null 姓名 tooltip varchar(50) Yes No Null 提示文本 icon varchar(50) Yes No Null 头像 3 文件夹组织结构 图 3在进行系统开发之前,需要规划文件夹组织结构。也就

8、是说,建立多个文件夹,对各个功能模块进行划分,实现统一管理,这样做的好处是易于开发、管理和维护。本系统的文件夹组织结构如图 3 所示。- 33 -4.主窗体设计主窗体界面也是企业内部通讯系统的用户列表,它由用户列表、系统选项卡等组成。其中系统选项卡用于切换不同的管理界面。主窗体的运行效果如图 4 所示。 图 45.公共模块设计 在本系统的项目空间中,有一部分模块是公用的,它们被多个模块重复调用完成指定的业务逻辑,或者是多个模块甚至整个系统的配置信息,本系统定义的公共类包括操作数据库的 Dao 类和 Resource 系统工具类。其中 Dao 类位于 com.lzw.dao 包,Resource

9、 类位于 com.lzw.system 包。这些公共类的详细代码可参见本书附带光盘中的源代码。6.系统托盘模块设计 系统托盘模块用于定义系统栏图标,企业内部通讯系统的主窗体是继承对话框窗体编写的,该窗体在系统任务栏中不会显示相应的任务标题,主窗体最小化之后将会隐藏,这时必须使用系统托盘中的图标执行显示窗体的命令。本系统在系统托盘中的效果如图 23.5 所示。 图 5系统托盘模块使用了 JDK 6.0 提供的新功能,这些功能中包含SystemTray 类和 TrayIcon 类,它们分别用于创建系统托盘和系统栏图标对象。另外,系统栏图标使用了弹出菜单技术,为企业内部通讯系统提 图 23.5 系统

10、托盘效果图供了部分快捷操作。创建弹出菜单和菜单项由 PopupMenu 类和MenuItem 类实现,一个 PopupMenu 对象可以使用 add()方法添加多个 MenuItem 对象,每个 MenuItem 对象必须使用 addActionListener()方法添加实现指定菜单项业务逻辑的监听器,其监听器的实现和普通按钮相同。 7.系统操作模块设计 企业内部通讯系统的系统操作模块主要用于用户搜索、指定 IP 搜索范围等功能。在企业内部通讯系统第一次运行时,用户搜索功能可以搜索内部网络中所有正在运行的计算机,并使用计算机的信息创建用户对象,然后将该用户对象保存到数据库中。系统工具模块的运

11、行效果如图 6 所示。 图 6 系统工具模块的运行图8. 用户管理模块设计用户管理模块类似聊天软件的好友列表,它包含了所有用户信息。另外,在用户名称上单击鼠标右键,会弹出管理菜单,菜单中包括更名、添加用户、删除用户、信史群发和访问主机资源,其中访问主机资源是访问该用户的共享文件夹,如果该用户没有共享文件夹或者禁止访问,将导致访问失败。用户管理模块的运行效果如图 7 所示。 图 7 用户管理模块的运行效果 用户管理模块主要用于显示用户列表,这个用户列表是使用 JTree 树控件实现的。JTree 控件的树节点默认的界面效果,难以满足用户列表的外观,用户列表需要绘制当前选择用户的边框、头像、状态图

12、标等信息。为提高用户列表的美观性,用户管理模块必须实现 TreeCellRenderer 接口,创建实现显示自定义图标的树单元格渲染器,这样就可以自定义树节点的样式。 TreeCellRenderer 接口只定义了一个 getTreeCellRendererComponent()方法,该方法将关于绘制树节点的全部信息作为参数,在实现自己的树单元格渲染器时,可以忽略不需要的参数,也可以直接访问树节点 value 参数。getTreeCellRendererComponent()方法的语法格式如下: Component getTreeCellRendererComponent(JTree tree

13、,Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) 语法中涉及的参数说明如表 2 所示。 表 2 参数说明 参 数 名 称 说 明 tree JTree 树对象 value 当前树单元格的值 selected 树单元格(也就是树节点)是否被选中 expanded 节点是否展开 leaf 是否是树的叶子节点 row 当前节点所做行号 hasFocus 当前节点是否拥有焦点 9. 通讯模块设计 通讯模块是企业内部通讯系统的核心模块,它用于不同职工之间的通讯,这种通讯方

14、式能够实现多个职工之间的通话,而不存在类似电话的占线问题,增加了任务分配的新方式,从而提高企业的工作效率。该模块可以使用 UDP 协议和系统信史两种方式发送通讯信息。通讯模块的界面运行效果如图 8 所示。 图 8 通讯模块的界面运行效果 通讯模块使用基于 UDP 协议的数据报和套接字实现计算机之间的信息通讯。UDP(User Datagram Protocol)协议就是“用户数据报协议”,它是一种无连接协议,在用该协议进行数据传输时,发送方只需要知道对方的 IP 地址和端口号就可以发送数据,并不需要进行连接,当连接的远程主机端口号处于监听状态时,UDP 必须处于连接状态。 Java 中对 UDP 数据报的发送和接收是通过 DatagramSocket

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号