己进行管理,以减少程序员的负担及可能发生的错误。Oak是一种可移置的语言,它是一种平台独立的语言,能够在各种芯片上执行,可以降低设备的研发成本。
1.2.2 Java的特点
Java是一种简单、安全、容易适用、面向对象、可移置、高性能、多线程的语言。
1. 简单性
Java语言简单高校,基本Java系统(编译器和解释器)所占空间不足250KB由于Java最初是为了对家用电器进行集成控制而设计的,因而具备简单命了的特征。
2. 面向对象
面向对象技术是现代工业的一次革新,提高了软件的模块化程度和重复适用率,缩短了软件开发时间,减低了卡发成本。在Java之前虽然已经有面向对象的程序设计语言问问世,但有些如c++并不是完全的面向对象,而是面向过程和面向对象的混合体。Java则是完全面向对象的程序设计语言。
3. 安全性
Java是可以用在网路及分布环境下的网路程序设计语言。在网路环境下,语言的安全性变得更为重要。Java提供了许多安全机制来保证其适用上的安全性。
4. 平台独立
平台独立指程序不受操作平台的限制,可以应用在各种平台上。Java源程序经过编译后生成字节码文件,而字节码与具体的计算机无关。只要计算机安装了能解释执行字节码的Java虚拟机JVM,就可以执行字节码文件,从而实现Java的平台独立性。
5. 多线程
Java具备内建的多线程功能,可以将一个程序的不同程序段设置为不同的线程,使各线程并发、独立执行,提高系统的运行效率。
6.网络功能
Java能从全球网络资源获取所需信息,如数据文件、影响文件、声音文件等,并对所得信息进行处理,所以说Java是一种网络语言。
7.执行效率
Java的字节码需要经过Java虚拟机JVM解释成机器码才能执行,所以速度上较慢。但是随着JVM技术的进步,使得其执行速度直逼C与C++。
1.2.3 Java与Internet
Java语言取得成功的领域之一就是网络(其他语言)数页代码---->(Java)一条语句
TCP/IP(传输控制协议/网间协议)是internet的主要协议,定义了计算机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层).大多数基于internet的应用程序被看作TCP/IP协议的上一层. 如 : ftp, http, smtp, pop3, telnet, nntp等。
IP地址:TCP/IP网络中的每台计算机都有唯一的地址--IP地址.
在Java中,有一个用来存储internet地址的类叫InterAddress.
Java提供的网络功能有三大类: URL, Socket, Datagram.
1、URL是三大功能中最高级的一种,通过URL Java程序可以直接送出或读入网络上的数据.
2、Socket是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道.
3、Datagram是更低级的网络传输方式,它把数据的目的纪录在数据包中,然后直接放在网络上
1.3 Socket编程
1.3.1 关于TCP/IP协议
TCP协议是网络通信的基石,对此,Java专门提供了Socket的类库,在其中抽象出TCP协议通信的常用方法:
TCP协议与三次握手:
在讲述TCP协议流程前,先来声明两个重要的概念:
(1)客户端,首先发送TCP请求的是客户端,客户端一般是服务(比如数据查询服务)的请求者。
(2)服务器,在接收到客户端的请求后(确保同客户端的通信信道建立)服务器会向客户端提供服务。服务器一般是服务的执行者,会向客户端返回服务执行的结果。
为了实现客户端同服务器端的通信,客户端首先发送一个"SYN"数据包。如果服务器收到SYN标记,它将发回一个"SYN+ACK"数据包。接着,客户端为了表示收到了这个SYN+ACK信息,会向服务器发送一个最终确认信息(ACK包)。这种SYN,SYN+ACK,ACK的步骤被称为TCP连接建立时的"三次握手",在这之后,连接就建立起来了,这个连接将一直保持活动状态,直到超时或者任何一方发出一个FIN(结束)信号。这种通信模式也叫客户端/服务器(C/S)模式。
主机A 主机B
图1-3 三次握手协议
由此可见,通过客户端和服务器的"三次握手",双方可以建立畅通的通信信道,在此信道上双方互相传输数据。
1.3.2 服务器和客户机
网络最基本的目的就是让两台机器连接到一起,并相互"交谈"或者"沟通"。一旦两台机器都发现了对方,就可以展开一次令人愉快的双向对话。但它们怎样才能"发现"对方呢?这就像在游乐园里那样:一台机器不得不停留在一个地方,侦听其他机器说:"嘿,你在哪里呢?"
"停留在一个地方"的机器叫做"服务器"(Server);到处"找人"的机器则叫做"客户机"(Client)或者"客户"。它们之间的区别只有在客户机试图同服务器连接的时候才显得非常明显。一旦连通,就变成了一种双向通信,谁来扮演服务器或者客户机便显得不那么重要了。
所以服务器的主要任务是侦听建立连接的请求,这是由我们创建的特定服务器对象完成的。而客户机的任务是试着与一台服务器建立连接,这是由我们创建的特定客户机对象完成的。一旦连接建好,那么无论在服务器端还是客户机端,连接只是魔术般地变成了一个IO数据流对象。从这时开始,我们可以象读写一个普通的文件那样对待连接。所以一旦建好连接,我们只需使用自己熟悉的IO命令即可。这正是Java联网最方便的一个地方。
图1-4 服务器和客户机的连接
1.4本文内容安排
本论文内容安排如下:
第二章为聊天系统的需求分析,主要介绍系统的可行性研究,需求分析流程图等。
第三章为概要设计,分模块介绍系统的具体实现过程。
第四章为详细设计。
2 需求分析
2.1.1 可行性分析
经济可行性:由于本系统的主要背景是毕业课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行Java软件的电脑便可,所以不用考虑到经济问题。
技术可行性: 本系统的开发利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用Java作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
运行可行性: 本系统为一个小型的局域网聊天系统,所耗费的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
2.1.2系统功能需求
本系统主要通过客户端,服务器端来体现聊天系统的基本功能。
(1)服务器端
1.处理用户注册
2.处理用户登录
3.处理用户发送信息,服务器监控聊天内容,服务器过滤非法内容
4.处理用户得到信息
5.处理用户退出
8. 服务器踢人。
9. 保存服务器日志。
10.保存用户聊天信息。
(2)客户端
1.用户注册界面及结果
2.用户登录界面及结果
3.用户发送信息界面及结果
4.用户得到信息界面及结果
5.用户退出界面及结果
2.1.3 系统性能需求
实用性:为局域网聊天提供方便,有效进行作业管理。
操作简单:本系统应该适用于不同水平的使用者,包括事业单位和企业单位,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。
技术先进:产品的系统设计和开发应紧跟着整
上一篇:
基于Java_web的邮件管理系统-毕业设计(论文)
下一篇:
高陈基于Java超市账单管理系统