网络聊天系统的研究与设计

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:yan1982zi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文研究的网络聊天系统主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面,通过套接字(socket)来连接发送消息,同时通过直接继承Thread类来建立多线程,使得更多的人参与聊天,从而拉近人与人之间的距离,实现消息最大资源共享。真正实现沟通零距离。
  关键词:网络编程;即时通讯;套接字;多线程
  中图分类号:TP311.10
  自从上世纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随着计算机网络的发展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能,人们越来越离不开计算机了。如今,作为网络应用之一的聊天工具,越来越受到人们的欢迎和重视。即时通讯软件使人与人的沟通突破时空极限,突破环境极限,使自我突破心理极限。作为使用频率最高的网络软件,即时通讯已经突破了作为技术工具的极限,被认为是现代交流方式的象征,并构建起一种新的社会关系,通过对聊天工具的开发,我们将了解计算机如何通过网络相互通信以及在此相互通信的基础上实现的应用程序级的协议。
  1 需求分析
  根据用户了解和市场需求,所以此系统主要分为两大部分:一是客户端,另一部分是服务器端。
  1.1 客户端方面设置
  客户端模仿QQ聊天系统,实现简单的QQ功能:注册账号、登陆QQ、查找好友、添加好友、删除好友、聊天功能、传输文件功能。
  (1)注册账号。用户通过客户端向服务器申请一个新的JAVAQQ账号,主要输入自己的的一些基本资料,如昵称(nickname)、邮箱(E-MAIL)、密码(password)、个性签名(personalixed signed),即可申请账号;(2)登陆QQ。即是用户通过自己申请的账号,想服务端请求登入,服务端验证通过,则可以进入JAVAQQ界面,如果密码或账号出错,则提示并返回登陆界面;(3)查找好友:。用户进入QQ后,通过查找按钮查找自己需要的好友,其中查找有两种方式,一是查看所有在线用户,而是通过JAVAQQ账号查找;(4)添加好友。用户通过查找出自己需要的客户,向服务器申请将他们添加为自己的好友,服务器通过添加好友申请发送请求,双方互添好友;(5)删除好友。在现实中,用户不需要某个好友时,可以向服务器发送删除好友申请,服务器通过申请,删除自己的好有成功;(6)聊天功能。顾名思义,两用户之间进行文字的交流;(7)文件传输。用户向另一用户传输文件,一开启本系统,监听系统就会启动,查看是否有好友发送传输请求,当双方需要传输文件时,用户需键入目标的IP和端口,对方拒绝接受则关闭系统退出,对方接受发送请求,则打开一新窗口填入存储位置,发送完成时,提示用户已发送,退出系统。
  1.2 服务器端设置
  服务器端主要实现的功能是开启(关闭)服务器、配置文件、用户管理、在线用户管理、日志显示管理等。(1)开启(关闭)服务器。打开或者关闭服务器连接;(2)文件配置。对JAVAQQ的号码进行管理,即生成一个新的JAVAQQ号码位数、屏蔽号码保存日志等;(3)用户管理。显示所有的JAVAQQ用户,查询JAVAQQ用户;也分为两种查找一是按JAVAQQ号码,另一个是按昵称查找。刷新用户列表;(4)群发消息。即群发系统广播消息,只针对在线用户;(5)日志显示。显示用户登入退出的基本消息。
  2 功能设计
  2.1 功能划分
  (1)服务器端功能。启动和关闭服务,配置属性文件,用户管理,在线用户查询,查看系统日志;(2)客户端功能。网络设置,注册账号,查找好友,添加好友,删除好友,查看好友资料,与好友进行文本聊天,给好友传输文件等。
  2.2 功能描述
  2.2.1 客户端
  (1)用户初始化模块。本模块主要完成的任务是用户通过账号、密码登陆系统,若数据在数据库中不存在,则需要用户进行注册;(2)注册操作。1)功能描述:注册一个新的JAVAQQ账号。2)输入要素:昵称、E-Mail、密码、性别、姓名、个性签名。3)处理流程:通过用户名、密码写入数据库;(3)查找操作。1)功能描述:查询用户输入的用户名、密码在数据据中是否有记录。2)输入要素:用户名、密码。3)处理流程:通过用户名,密码到数据库中查询该用户的信息;(4)聊天功能。1)功能描述:通过用户加入的好友与好友进行点对点聊天。2)输入要素:用户聊天消息。3)处理流程:通过服务器将用户聊天消息进行传递;(5)传输文件。1)功能描述:通过好友提供的IP给对方点对点的传输文件。2)输入要素:IP地址。3)处理流程:TransFileManger类继承了Thread类,实现多线程,并通过传输线程(SocketThread)的数量进行文件传输。
  2.2.2 服务器端的具体描述
  (1)用户初始化模块。本模块主要完成的任务是系统管理员开启服务器端。1)功能描述:启动服务器。2)输入要素:无。3)处理流程:调用StartServer()和StopServer()方法来启动和关闭服务器;(2)系统环境配置功能。1)功能描述:设置服务器的端口、生成JAVAQQ的数位、屏蔽号码、备份日志等。2)输入要素:服务器端口、生成JAVAQQ的最小数位和最大数位、要屏蔽的号码、日志的备份、数据方式的选择1文件方式,2数据库方式。3)处理过程:调用setProp()方法设置配置文件;(3)用户管理功能。1)功能描述:该模块主要的功能是进行好友的查询,刷新用户列表、添加新用户。2)输入要素:用户号码、用户昵称。3)处理流程:通过用户昵称或者号码到数据库中查询该用户信息;(4)在线用户管理功能。1)功能描述:显示目前在线的JAVAQQ用户,通过用户的账号查询用户是否在线,刷新在线用户的列表、并通过服务器向所有在线用户发送系统广播。2)输入要素:用户的JAVAQQ账号、消息文本。3)处理流程:选择用户的账号,查看账号的状态;(5)文件传输管理。1)输入流程:所传输的文件的文件名和大小。2)处理流程:由文件发送者发起文件传输,他首先发送文件名,文件大小,验证消息等信息给文件接收者。文件接收者收到文件信息和发送者信息,决定是否接收,如不接收,则发送拒绝接收消息给文件发送者,文件传输结束。如同意接收,发送同意接收消息和文件传输起始字节(用于断点续传)给发送者。发送者开始发送文件数据包,直到最后一个文件数据包,发送者在最后一个文件数据包上加上标记。接收者识别最后一个文件数据包,文件传输成功。
  3 结束语
  与已成规模的腾讯QQ相比,该系统还存在着太多的不足,因为是本文研究的网络聊天系统功能方面比较简单,缺少部分功能:如视频、语音聊天等附属功能。但相对的来说此聊天系统更简约,操作方便,且可以在局域网内实现网络聊天功能。
  参考文献:
  [1]叶核亚.JAVA程序设计使用教程(第二版)[M].北京:电子工业出版社,2008.
  [2]孙卫琴.JAVA网络编程精解[M].北京:电子工业出版社,2007.
  作者单位:广西科技大学鹿山学院,广西柳州 545616
其他文献
摘 要:马铃薯作为全球第四大重要粮食作物,营养价值高,产量大,因此我国对马铃薯的需求量也在不断增加。基于此,本文指出马铃薯在种植过程中存在的问题,以山东省潍坊市寒亭区农业局的种植技术为例,着重研究马铃薯从选地与整地、种薯处理、田间管理的应对方法,并举例阐述,分析其种植技术的相关要领,从而提高产量的同时增加经济效益。  关键词:马铃薯;种植技术;要领分析  马铃薯属茄科多年生草本植物,又称地蛋、土豆
海门市正章集团公司的前身是海门市正章染厂,始建于1978年。集团公司下辖两个企业,即正章染整有限公司与洗涤用品厂(生产正章牌系列洗涤用品)。正章染整有限公司拥有5条染整
我国经济的快速发展和人民生活水平的提高,对装饰装修的要求越来越高,装饰装修的造价在整个建筑造价中所占的比重也越来越大,在建筑经济发展中扮演着越来越重要的角色.如何搞
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
蜜蜂产业是我国养殖业中一个关键组成部分,是农牧民收入的主要来源,同时也改善了全国居民的膳食结构,有着重要的现实意义.蜜蜂养殖中,如何减少养殖成本,提升蜜蜂养殖经济效益
混凝土U形槽防渗技术可靠,节水效果好,应用范围广,同梯形混凝土防渗渠道相比可节省投资,因此在施工过程中要严格按照设计及施工程序进行,确保施工质量,以避免裂缝的产生,提高渠道的
摘 要:在我国,红薯是一种具有悠久历史且种植广泛的旱地作物,其根部不仅能够作为食品使用,且在畜牧业以及食品加工业方面也具有较高的应用价值。在本文中,将就红薯种植技术及实施要点进行一定的研究。  关键词:红薯种植技术;实施要点  红薯是我们日常生活当中经常接触到的作物类型,它含有丰富的营养物质以及甜美的口感,并因此在市场当中有着较大的需求量。在实际红薯种植当中,需要能够做好种植重点技术的把握,保障其
期刊