您的当前位置:首页正文

聊天软件的设计

2020-11-29 来源:星星旅游
龙源期刊网 http://www.qikan.com.cn

聊天软件的设计

作者:陈爱波

来源:《中国科技博览》2015年第29期

[摘 要]本文利用当前软件设计中通用的软件设计思想—软件工程,在系统的实现过程中,主要分为客户端和服务器端两部分内容,对聊天软件做出了具体的分析设计。 [关键词]聊天软件;软件工程

中图分类号:TP311 文献标识码:A 文章编号:1009-914X(2015)29-0307-01 1 引言

随着网络的发展,邮件 E-mail 是最先出现的一种通讯工具,它不但可以传送文本,还可以传递多媒体信息,如图像、声音等。在通常情况下,一个独立的网络中邮件在几秒钟之内就可以送达对方。他的简便、迅速、廉价以及不受地域的的限制使人们欣喜如狂,尽管它是有如此多的优点,但是一种事物的诞生,那怕他是如此的好,人们总是在不但的追求完美, 能否是通讯双方更直接的对话,就好比感觉在使用电话一样方便。ICQ即时聊天软件的出现使人们的愿望得以实现。 2 系统综合需求

在线网络聊天软件是一个实用性通信软件。它的基本功能就是让用户能够在局域网甚至在广域网上进行文字信息交流。对其综合需求进行分解,可得到如下的需求分析: 2.1 功能需求

对于功能需求,本文将从服务器端和客户端两方面进行描述。 对于服务器端来说,其功能主要包括:

(1)在服务器端建立完善可用的数据库来维护和管理注册用户的信息和协调网络进行通信;

(2)服务器能够处理各种用户服务请求,当用户发出请求时服务器端就会作出相应的处理;

(3)服务器应该具有一定的网络错误检测功能,确保网络出错时能及时处理;

龙源期刊网 http://www.qikan.com.cn

(4)而且为了达到软件能够在局域网甚至广域网都能运行使用的目标,就要求服务器能够同时处理大量的用户接入申请和服务申请。 对于客户端来说,其功能主要包括:

(1)用户注册:首先用户需要与服务器建立连接,接着填写相关的用户注册信息,然后将相应的信息发送到服务器端。服务器接受相关的信息,并进行相应的处理,然后将信息返回给客户。

(2)用户登陆: 用户填写自己的帐号和密码,然后请求登陆,那么客户端的连接服务器程序就会先检查服务器是否是在监听,如果服务器是打开的,那么用户所发送的消息就会被传送到服务器,服务器接受到相关的帐号和密码信息后,就会查询数据库,判断用户身份时候正确,如果正确,就修改用户登陆IP地址,登陆TCP端口号,登陆UDP端口号,返回自己的状态信息,同时返回自己的好友信息。如果登陆不成功,那么返回登陆不成功信息给用户。 (3)用户修改个人信息:用户对往后自己的个人信息需要改动的话就可以在客户端自己修改,服务段接收到相应的信息后就会做出相应的保存.

(4)添加好友: 用户先查找好友帐号,看好友是否存在。如果好友存在的话,那么将返回用户的个人信息,用户可以选择增加好友,或是放弃操作,如果用户不在的话,系统保存后下次等客户上线了就提交给用户.

(5)删除好友: 用户提出删除好友请求,该请求被发送到服务器,服务器接受到信息后,查询好友信息表,然后进行相关的数据库操作,如果操作成功,将返回一个信息给用户,告诉用户删除好友成功,如果操作不成功,将返回一个删除好友错误信息给用户.

(6)用户与好友之间的通讯: 用户与好友之间的通讯,以及发送离线消息可以归并为一个内容,用户需要给自己的好友发送信息,那么当用户输入相关的信息后,点击发送程序后,客户端处理程序将做以下两种判断:一、针对在线用户,将直接将信息发送给对方。但如果对方不在线,那么此时信息将被发送给服务器,当对方好友下次上线时,服务器就会将信息发送给用户。

3 系统功能模块总体结构图

在线聊天系统包括服务端和客户端,服务端主要是为了供客户端的连接。客户端主要提供用户的注册、登入、增加删除好友、用户通讯和发送离线信息等功能。总体的结构如图1所示。

4 模块的详细设计

龙源期刊网 http://www.qikan.com.cn

根据需求分析中所要求的系统应该实现的功能,以及上面的功能分解图,下面分别对各个具体的模块做详细的分解说明如下: 4.1 用户注册

用户注册的过程如下,首先用户需要与服务器建立连接,接着填写相关的用户注册信息,其注册信息包含如下内容(参照下面的数据字典)。然后将相应的信息发送到服务器端。服务器接受相关的信息,并进行相应的处理,然后将信息返回给客户。 4.2 用户登陆

用户登陆过程如下,用户填写自己的帐号及密码,然后请求登陆,那么客户端的连接服务器程序就会先检查服务器是否是在监听,如果服务器是打开的,那么用户所发送的消息就会被传送到服务器,服务器接受到相关的帐号跟密码信息后,就会查询数据库,判断用户身份时候正确,如果正确,就修改用户登陆IP地址,登陆TCP端口号,登陆UDP端口号,自己的状态信息,同时返回自己的好友信息。如果登陆不成功,那么返回登陆不成功信息给用户。 4.3 添加好友

用户添加好友过程如下,用户先查找好友帐号,看好友是否存在。如果好友存在的话,那么将返回用户的个人信息,用户可以选择增加好友,或是放弃操作,如果用户选择增加好友的话,那么如果此时对方用户不在线,那么用户的增加好友信息将发送到服务器,当对方下次上线时这些信息就会发送给对方。 4.4 删除好友

用户删除好友过程如下:用户提出删除好友请求,该请求被发送到服务器,服务器接受到信息后,查询好友信息表,然后进行相关的数据库操作,如果操作成功,将返回一个信息给用户,告诉用户删除好友成功,如果操作不成功,将返回一个删除好友错误信息给用户。 4.5 用户与好友之间的通讯

用户与好友之间的通讯,以及发送离线消息可以归并为一个内容,其过程如下:用户需要给自己的好友发送信息,那么当用户输入相关的信息后,点击发送程序后,客户端处理程序将做以下两种判断:一、针对在线用户,将直接将信息发送给对方。但如果对方不在线,那么此时信息将被发送给服务器,当对方好友下次上线时,服务器就会将信息发送给用户。 参考文献

[1] (美)Douglas E.Comer,David L.Stevens.TCP/IP网络互联技术(卷3)[M].北京:清华大学出版社,2004年9月.

龙源期刊网 http://www.qikan.com.cn

[2] 辛长安,梅林.VC++编程技术与难点剖析[M].北京:清华大学出版社,2004年9月. [3] 蒋东兴.WINDOWS SOCKETS网络程序设计大全[M].北京:清华大学出版社,1999年4月.

因篇幅问题不能全部显示,请点此查看更多更全内容