没有登录 用户中心
您的当前位置:计算机 > java聊天工具开题报告

java聊天工具开题报告


网络上常用的即时通讯工具之一有ICQ。其实,ICQ是英文“I seek you”的简称,中文意思是“我找你”。ICQ最大的功能便是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开ICQ,人们就可以随时交流。

目前即时聊天系统种类众多,功能也较为齐全。该课题现在所研究的即时通讯系统,其目标是定位于企业内部网络,解决企业或单位的沟通及协同的问题,提高工作效率。企业内部员工可以利用该通讯系统随时随地发送文字消息、进行多人群聊、消息群发、传送文件、音频视频对话等。系统包括客户端程序和服务器端程序,支持局域网和Internet。企业内部员工之间可以在内部网覆盖的任何地点、任何时间进行即时交流,真正实现企业内部协同工作。使您不必花费大量的时间、金钱聚集到一个地方,通过网络,就能实现面对面的沟通,提高了效率。MSN、QQ等公共消息系统,由于聊天对象及内容的不可控,若在企业内部使用,可能会降低工作效率。而该即时通讯系统将自己的服务器端安装在企业内,并且人员的创建是由系统管理员来完成,因此很好的解决了这个问题。

即时通讯带给了更大的互动性,人们在交流彼此的看法、意见时,发现采用你来我往的方式达到的效果最为明显。这就体现了互动性。通过使用及时通讯系统,大家不需要离开电脑,不需要借助其它额外的工具,就可以在线实时地交流工作。

1.2即时通信的概念和特点

即时通讯(IM)是一个允许两人或多人使用网络即时地传递文字信息、档案、语音与视频交流的终端服务。即时通讯不同于e-mail在于它的交谈是即时的。【1】大部分的即时通讯服务提供了presence awareness的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。在早期的即时通讯程序中,使用者输入的每一个字符都会即时显示在双方的银幕,且每一个字符的删除与修改都会即时的反应在银幕上。这种模式比起使用e-mail更像是电话交谈,充分体现了其实时特性。在现在的即时通讯程序中,为了画面的完整美观和交流方便,交谈中的另一方通常只会在本地端按下送出键(Enter或是Ctrl+Enter)后才会看到信息。

1.3即时聊天系统的发展

二十世纪七十年代早期,一种较早的即时通讯形式是柏拉图系统(PLATO system)。八十年代,UNIX/Linux的交谈即时信息被广泛的使用于工程师与学术界,九十年代即时通讯更可跨越了操作系统平台交流,1996年11月,首个广泛被非UNIX/Linux使用者用于因特网的即时通讯软件ICQ出现。通常认为ICQ是现在流行使用的即时通讯软件的开山之作。ICQ源于以色列特拉维夫的Mirabils公司。该公司成立于1996年7月,也就是在这个时候,四个月后的1996年11月,互联网上最出名,下载使用人数最多的免费软件ICQ诞生了,她是由几个以色列的年轻人制作的,在无人投资的情况下,他们向全球互联网用户提供免费下载使用,到了1998年,Mirabilis公司的ICQ用户已经发展到1200万人,并以每月100万用户的速度增加。这时候,ICQ公司由于其潜在的巨大商业广告价值,已经成为许多大公司争相购买的对象,1998年ICQ公司将自己开发的软件连同用户一起“卖”给了美国在线(AOL),售价2.87亿美元。据美国在线1999年底称,ICQ使用者已达5000万,其中超过三分之二的使用者居住在美国本土以外的世界各地。ICQ造就的实时通信成了互联网世界中发展最快的一个领域。

 

2 相关技术及协议

为了保证课题能正常实施,先来分析一下课题所需要的相关技术和协议。

2.1 Java语言

经过认真的讨论分析,综合各种计算机高级语言的特征和适应范围,最终决定选择纯面向对象的Java语言来完成毕业论文的设计,下面就技术可行性方面,对Java语言作一简要介绍。

Sun公司的口号就是网络就是计算机Java能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用Java语言,可以相对轻松的一天编写一个有条理的网络程序。今天,Java的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,JavaSoft实验室正在不断努力使Java更加完善。就Java语言的主要特点,本人归纳如下:

Java程序设计的开发过程与运行环境Java是解释型的高级编程语言,所以Java程序的开发通常需要经过编写源程序、编译生成字节码和运行三个过程。这里要提到,Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码字节码。这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。2

2.2 C/S模式介绍

20世纪90年代出现并迅速占据主导地位的一种计算模式为客户机/服务器模式,简称为C/S模式,它实际上就是把主机终端模式中原来全部集中在主机部分的任务一分为二,保留在主机上的部分负责集中处理和汇总运算,成为服务器;而下放到终端的部分负责为用户提供友好的交互界面,称为客户机。3相对于以前的模式,C/S模式最大的改进是不再把所有软件都装进一台计算机,而是把应用系统分成两个不同的角色和两个不同的地位:一般在运算能力较强的计算机上安装服务器端程序,而在一般的PC上安装客户机程序。正是由于个人PC机的出现使客户机/服务器模式成为可能,因为PC机具有一定的运算能力,用它代替了上面第一种模式的哑终端后,就可以把主机端的一部分工作放在客户机端完成,从而减轻了主机的负担,也增加了系统对用户的响应速度和响应能力。

解决的问题 

a.如何在网络通信方面使用Socket协议,采用C/S形式的两层结构,发挥C/S结构的优点。  

b.如何在客户端处理后再提交给服务器信息。 

c. 服务器在接到客户端的信息后如何处理 

d.优化程序代码,使得聊天的用户体验更加完美  

e.毕业设计不仅仅是为了做出这个游戏,更是对大学4年来学习生活的检验。认真总结开发过程中遇到的困难与解决办法,应用到以后的工作生活中去。

研究方法:

基于socket的网络编程,实现c/s模式的聊天程序,服务器端需要处理多个客户

数据,通过自定义聊天协议,实现公共聊天室和私聊等功能;客户端要实现用户的登入与退出,服务器端要显示在线用户。编程语言采用Java。 

需要使用的工具MyEclipse和MySQL



相关阅读

图文聚焦

新闻评论