计算机网络论文Word下载.docx
- 文档编号:15791173
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:22
- 大小:146.73KB
计算机网络论文Word下载.docx
《计算机网络论文Word下载.docx》由会员分享,可在线阅读,更多相关《计算机网络论文Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
********
2012年6月9
1绪论
1.1设计目的
计算机网络是计算机科学与技术专业的一门核心课程,计算机网络课程设计是计算机网络的一个综合实践环节。
通过本课程设计要使学生达到以下目标:
(1)深入理解计算机网络的基本原理与协议,是课堂知识学习的一个巩固;
(2)熟悉计算机网络应用编程的基本方法,拓展学生的应用能力;
(3)为后续的网络课程学习打下较为坚实的基础;
(4)提高分析、设计软件系统以及编写文档的能力。
1.2实现意义
该课题要求完成一个基于局域网的即时通讯系统,方便局域网内的员工之间的工作交流。
同时,为了使用与维护这个系统尽可能简单,该系统应不依赖于某个特定服务器。
在信息时代飞速发展的今天,通讯的发展也是日新月异,从当初的烽火狼烟的一个通讯到现在的电话、传媒、聊天。
越来越多的通讯系统应用到了人们的生活中,而在日常的工作中通讯也是必不可少的,所以开发这个通讯系统的意义在于更好的方便一个局域网内的员工之间互相通讯的问题,这样使得公司的效率更加的高
本系统采用基于Socket的局域网通信工具的设计与实现的方法。
基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。
它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。
基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。
它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。
1.2设计思想
熟悉javaswing界面的设计,在搭配系统开发条件下能利用socket编程技术、多线程开发技术、TCP、UDP协议等进行局域网聊天软件的实际开发。
2系统功能分析
2.1系统整体功能分析
系统的整体功能是一个在局域网内方便员工通讯的作用,所以系统除了可以发送信息之外还要可以接收其他用户发送给自己的信息,从某种意义上来说该系统没有指定的服务端,每一个用户既是客户端也是服务端。
大体的系统模块如下。
图2-1系统模块图
2.2系统可行性分析
由于本学期我们学习得是Java,因此本系统采用的Java为开发语言进行开发的,采用的工具为eclipse,下面为Java的一些优点:
首先,Java是一种强大的、面向对象的、分布式的、半解释半编译的、键壮的、安全的、结构的、中立的、可移植非常强的、性能很优异的、多线程的、动态的计算机语言。
Java的开发环境有不同的版本,Sun公司相继的推出了J2ME、J2SE、J2EE三大平台,尤其是J2SE是Java2标准平台,广泛用于工作站、PC机,被称为“互联网上的世界语”。
这些为我们开发系统提供了强大的平台支持。
而且Java在互联网方面具有得天独厚的优势,也是最吸引我的地方之一。
因此用Java开发此系统是完全可行的。
2.3个人资料功能分析
因为该通讯系统是一个面向日常工作上班一族的,而且是一个面向个人的系统,所以在这个方面必须有一个设置个人资料的功能,在通讯中可以通过个人资料来区分不同的工作人员,以及在需要时候选择不同的人员进行通讯,所以在进行设计的时候需要设置一个个人资料的功能,这样使得通讯更加方便。
2.4自动搜索用户分析
在通讯的时候不同的用户可能在不同的时间运用这个通讯系统,或者会在不同的时候关闭这个系统,所以我们面对这个问题,需要及时的更新在线的用户列表,当某一个用户登录上之后,系统会自动的搜索当前所在线的全部用户,然后每隔一段时间会自动的搜索新增的用户和下线的用户,这样让系统更加的人性化。
2.5点对点文字传输分析
有了个人资料和自动搜索用户的功能的同时,不可缺少的还有一个就是点对点传输文字信息,员工之间互相通讯的时候要确保只是通讯时的两个员工之间能接受互相发送的信息,而不是一经发送全部的员工都收到了,所以在这个方面添加一个点对点文字传输的功能可以让员工之间单独的传输信息。
3开发技术介绍
3.1SWING的图形用户界面
swing是日前Java不可或缺的窗口工具组,在swing尚未推出之前,要编写个java窗口程序必须使用AWT(AbsbactWlndowTooht)的包,AWT最大的缺点在于使用上相当没有弹性,例如您无法仔细地改变组件的外观。
这个原因主要是AWT中大部分的组件均含有nativecode,这样的做法相当容易现解,因为窗口中的每个组件都可能与操作系统相互沟通(不管是输入或输出),而我们使用的操作系统并个是由Java程序所写成,因此要与操作系统相互沟通必须使用与操作系统兼容的程序语言,产生所谓的对等(Peer)组件,这样的做法所需付出的代价除了刚刚提到的没有弹性外,也可能耗费大量的系统资源,因为建立一个AW组件就等于建立一个对等对象,然后由此对等对象直接跟操作系统沟通,由此若我们想建立一个10×
10大小的电子表格,至少就必须产生101个对等对象(可能是内100个Texfield组件加上一个Frame组件组成),这样的做法似乎太没有效率。
Swing中只有JFrame、JDialog、Jwindow与JApplet不是纯Java所写成,主要是窗口画面总要有跟操作系统沟通的渠道,这样才知道用户是不是敲了键盘、按了鼠标或关闭了窗口。
当您在JFrame上绘制了100个JTextField组件时,实际上只会产生一个对等组件,也就是由JFrame所产生,利用这个唯一的对等组件来跟操作系统相互沟通,这样就能节省相当多的系统资源。
再者,不同的操作系统所对应的对等组件可能有不同的效果,减少对等物的产生将利于系统的稳定度。
3.2UDP数据报
3.2.1发送数据
第一步先创建DatagramPacket对象,用DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据报,用DatagramPacket的两个构造方法可以创建待发送的数据报。
第二步用DatagramPacket类的不带参数的构造方法DatagramPacket()创建一个对象,该对象负责发送数据报
3.2.2接收数据
用DatagramPacket类的构造方法DatagramPacket(intport)创建一个对象,其中的参数必须与待接收的数据报的端口号相同,例如,如果发送方发送的端口号是5666,该对象mail-in使用方法receive(DatagramPacketpack)接收数据报,把收到的数据报传递给参数pack。
因此,我们需要使用DatagramPacket类的构造方法DatagramPacket(byte[],intlength)创建一个数据报,用于接收数据报。
3.3广播数据报
广播数据包类似于电台广播,进行广播的电台需在指定的波段和频率上广播信息,接收者只有将收音机调到指定的波段、频率才可以接收到广播的内容。
广播数据包也是这个道理,通讯系统的程序中用以下几个步骤设计广播数据报,
(1)设置组播地址,使用InetAddress类创建组播组地址。
(2)创建多点广播套接字,使用MulticastSocket类创建一个多点广播套接字对象(3)设置广播的范围,当数据经过广播的最大取值时,该数据就被网络丢弃(4)加入组播组准备广播或接收的主机必须让多点广播套接字对象调用方法publicvoidJoinGroup(InetAddressmacastaddr)threowsIOException加入广播组。
(5)广播数据和接收数据,进行广播的主机可以让多点广播套接字对象调用一个方法使得指定的数据报广播到组播组中的其他主机,接收广播的主机可以让多点广播套接字对象调用一个方法来接收广播的数据报中的数据,并将接收的数据存放到指定的数据报中。
4详细设计
4.1通讯系统界面设计
(1)用户输入对应的账号和密码则可以登录到自己的用户界面。
类型
名称
用途
JLabel
Label1,label2
创建“用户名”“密码”标签
JButton
button
创建按钮“登录”
JTextField
text1,text2
创建两个输入的文本框
Box
baseBox
用于一个总体的装载
boxV2
用于装载label1和text1
boxV3
用于装载label2和text2
boxV4
装载boxV2和boxV3
该界面的设计运用了SWING组件的BoxLayout布局,界面总体是一个大的Box,界面定义了JLabellabel1,label2;
两个标签,一个存放的是“账号”一耳光存放的是“密码”,有两个标签之后在创建两个对应的文本框JTextFieldtext1,text2;
最后还需要添加的是一个“登录”按钮button,然后运用嵌套盒式将那些元件排版,创建四个盒式布局将两个标签和两个文本框分别置于两个列中,将按钮放于第三个盒式中,最后将上述的三个一起置于一个盒式容器中。
(2)该界面负责显示已经登录的用户的昵称和当前在线的用户列表。
JLabellabel=newJLabel("
昵称"
);
JLabellabel1;
String[]columns={"
在线列表"
};
String[][]data=newString[100][1];
DefaultTableModelmodel=newDefaultTableModel(data,columns);
JTabletable=newJTable(model);
JPanelp;
name=s1;
this.label=label;
this.address=address;
port=5858;
thread=newThread(this);
label1=newJLabel(name);
table.setRowHeight(20);
table.addMouseListener(this);
p=newJPanel();
p.add(label);
p.add(label1);
add(p,BorderLayout.NORTH);
add(newJScrollPane(table),BorderLayout.CENTER);
setBounds(100,100,200,600);
setVisible(true);
validate();
thread.start();
该界面建立一个存放用户姓名的标签,该标签的创建根据登陆页面用户输入的姓名来决定标签的内容,另外创建一个标签来存放“在线列表”,然后实质上存放在线列表里面的内容则有一个表格组件来存放所对应的在线用户,通过UDP数据报广播来获取在线的用户的姓名以及IP地址,然后将数组的数据导入表格组件中,就可以形成在线用户列表。
(3)该界面是一个通讯系统中的聊天界面。
在下方的窗口处可以输入所要发送的信息,并且发送出去时在上方页面显示,上方页面除了可以显示自己发送的信息之外还可以接受其他用户给自己发送的文字信息。
Stringname;
//自己的昵称
Stringname1;
//对方的昵称
Stringaddress1;
//对方的IP
JTextAreaoutMessage=newJTextArea(12,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 论文