论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP JSP .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 其他 代写论文

JAVA即时通讯工具的设计与开发

目  录

1  引言... 1 copyright paper51.com

1.1 项目开发背景... 1 内容来自www.snowings.com

1.1.1 项目背景... 1 内容来自论文无忧网 www.snowings.com

1.1.2 技术背景... 1 copyright paper51.com

1.2 该系统设计的意义... 2

http://www.snowings.com

2相关理论及基础技术与开发平台... 2 paper51.com

2.1 即时通讯应用工作原理分析... 2

paper51.com

2.2所用技术... 3

内容来自www.snowings.com

2.3工具及开发平台... 4

paper51.com

2.4 系统配置要求... 5 内容来自论文无忧网 www.snowings.com

3系统体系结构的设计... 5 http://www.snowings.com

3.1 需求描述... 5 内容来自www.snowings.com

3.2系统架构设计... 5 http://www.snowings.com

3.3 系统的总体功能设计... 7

paper51.com

3.3.1总体功能设计... 7

copyright paper51.com

3.3.2注册模块设计... 7

内容来自论文无忧网 www.snowings.com

3.3.3 登录模块设计... 9

copyright paper51.com

3.3.4用户间交互模块设计... 11 内容来自论文无忧网 www.snowings.com

4系统实现... 13

内容来自论文无忧网 www.snowings.com

4.1网络通讯编码实现... 13

http://www.snowings.com

4.1.1聊天客户端部分代码... 13 内容来自论文无忧网 www.snowings.com

4.1.2服务器端监听与转发消息代码... 14

copyright paper51.com

4.1.3服务端单线程上线处理代码... 15

copyright paper51.com

4.2 系统运行的效果图... 17

copyright paper51.com

4.2.1 登录界面... 17

内容来自论文无忧网 www.snowings.com

4.2.2 主界面... 17

内容来自www.snowings.com

4.2.3 好友聊天界面... 18 paper51.com

5 系统测试与运行... 19 内容来自www.snowings.com

结   论... 21

copyright paper51.com

参考文献... 21 http://www.snowings.com

致   谢... 22

内容来自论文无忧网 www.snowings.com

声   明... 1 内容来自论文无忧网 www.snowings.com

paper51.com

  3.3 系统的总体功能设计 内容来自www.snowings.com

3.3.1总体功能设计

内容来自论文无忧网 www.snowings.com

根据上述需求的描述,对该系统按照功能进行了模块的细化,主要包括注册登录、好友聊天、好友组管理、群聊天4个模块,还有很多其它小模块,这4个模块是实现该系统的核心模块,模块之间的耦合程度非常低。下图是上述的4个重要模块的用例交互图。

copyright paper51.com

copyright paper51.com

图4 总功能用例图 内容来自www.snowings.com

3.3.2 登录模块设计 内容来自论文无忧网 www.snowings.com

该模块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互,如果提供的信息通过服务器的验证便可以成功的登录系统,成功登录系统之后,可以进行一些操作,比如和好友聊天等,使用该模块之前必须安装一个客户端。登录模块只是一个简单的界面,主要填写用户名、密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友、添加和删除好友分组、和朋友聊天等功能。下图是登录模块的用例图。

paper51.com

内容来自www.snowings.com

图8 登录用例图 copyright paper51.com

                                 

内容来自论文无忧网 www.snowings.com

下边的登录模块的活动图,主要是对用户提供的用户名和密码提供验证。 内容来自www.snowings.com

copyright paper51.com

图9 登录活动图

内容来自论文无忧网 www.snowings.com

下边是用户之间交互信息的时序图,主要包括从用户登录到通过验证然后进行信息的发送,给好友发送信息包含两种情况,第一,如果好友在线的话消息直接通过服务器中转发送给好友,如果对应的好友不在线,则讲发送的信息保存到数据库中,当该好友上线的时候从数据库中读出相应的信息进行发送。

内容来自论文无忧网 www.snowings.com

http://www.snowings.com

图10 用户信息交互图

paper51.com

3.3.4用户间交互模块设计

内容来自www.snowings.com

该模块主要实现已用户之间的信息交流,用户交流的前提是先要添加好友,可以通过查找功能进行好友的查找,找到要添加的好友后,通过发送好友申请消息来添加好友,当对方通过添加好友的验证消息后,便可以成功的添加好友。只有成功的添加好友之后,才可以进行用户之间的信息的相互交互。下边是用户交互的用例图。 copyright paper51.com

paper51.com

图11 用户交互用例图

http://www.snowings.com

用户之间聊天的信息主要通过聊天服务器进行中转,用户之间聊天内容主要存储在客户端的一些文件中,可以通过查看聊天功能来进行对这些聊天信息的读取。下图是用户交互的活动图: 内容来自论文无忧网 www.snowings.com

http://www.snowings.com

N

paper51.com

Y copyright paper51.com

图12 用户交互活动图

copyright paper51.com

下边是好友添加的时序图 paper51.com

http://www.snowings.com

图13 好友添加时序图

copyright paper51.com

4系统实现4.1网络通讯编码实现

copyright paper51.com

4.1.1聊天客户端部分代码 内容来自论文无忧网 www.snowings.com

下边是聊天客户端的核心代码,它用来判定消息的来源以及针对该消息所进行的相应的操作。 内容来自论文无忧网 www.snowings.com

for(int i=0;i<MyPersonTree.alist.size();i++)    //判断是哪个好友发来的信息 内容来自论文无忧网 www.snowings.com

 { paper51.com

               p=(Person)MyPersonTree.alist.get(i);

copyright paper51.com

              if(p.getID().equals(hisJICQ))

内容来自论文无忧网 www.snowings.com

                                       break;

内容来自论文无忧网 www.snowings.com

                                     elsep=null;

paper51.com

                              } 内容来自www.snowings.com

                 if(p!=null)                                 //队列中有该好友 paper51.com

                 {

http://www.snowings.com

                 JICQChatFrame jchatExist=null;

paper51.com

                  intisExistFrame=0;//判定聊天窗口是否已经打开

paper51.com

                                 for(inti=0;i<MyPersonTree.vector.size();i++)  //遍历向量

paper51.com

                                        {

copyright paper51.com

                                              jchatExist=(JICQChatFrame)MyPersonTree.vector.get(i);

内容来自www.snowings.com

                                                      if(jchatExist.JICQ.equals(hisJICQ)) 内容来自论文无忧网 www.snowings.com

                                                      {

http://www.snowings.com

                                                             isExistFrame=1;//聊天窗口已经打开

内容来自www.snowings.com

                                                             break;    http://www.snowings.com

                                                      } copyright paper51.com

                                               }

内容来自论文无忧网 www.snowings.com

                                        if(isExistFrame==0)//聊天窗口没有打开,新建一个窗口

copyright paper51.com

                                               { 内容来自论文无忧网 www.snowings.com

                                               JICQChatFramejchat=new JICQChatFrame(p,this); http://www.snowings.com

                                                      MyPersonTree.vector.addElement(jchat);

copyright paper51.com

                                                      jchat.setMessage(headmsg,msg);

paper51.com

                                               }

内容来自www.snowings.com

                                               else

paper51.com

                                               {//在聊天窗口中显示该信息

copyright paper51.com

                                                      jchatExist.setMessage(headmsg,msg);

内容来自www.snowings.com

                                                }} else

http://www.snowings.com

{

内容来自论文无忧网 www.snowings.com

                              JICQChatFramejchatExist=null;

http://www.snowings.com

                              intisExistFrame=0;

内容来自www.snowings.com

                                               for(inti=0;i<MyPersonTree.UnKonwVector.size();i++)                     //陌生人的信息

内容来自论文无忧网 www.snowings.com

                                               { 内容来自论文无忧网 www.snowings.com

                                      jchatExist=(JICQChatFrame)MyPersonTree.UnKonwVector.get(i);

copyright paper51.com

                                               if(jchatExist.JICQ.equals(hisJICQ)) copyright paper51.com

                                                      { http://www.snowings.com

                                                             isExistFrame=1;

内容来自www.snowings.com

                                                             break;   

内容来自论文无忧网 www.snowings.com

                                                      } 内容来自www.snowings.com

                                               }

内容来自论文无忧网 www.snowings.com

                       }

http://www.snowings.com

------分隔线----------------------------
联系方式