【开源】JAVA即时通讯 nothing to say 重出江湖篇

TX一直在山寨它人,那就让我们来山寨一个TX吧!

这篇还是用来介绍JAVA 即时通讯工具nothing-to-say的,之前有一篇介绍:[url]http://nothing-whoami.iteye.com/blog/1611315[/url]。但是有网友E-mail说这个菜做的貌似是很讲究,但是你的Cookbook写的有点太简单的。以致于我们都不知道怎么吃!所以只好顺应民意,再来一篇,希望以前看到的朋友可以跳过,当然也可以再看一遍!

蛋我们暂时先放到一边,慢慢扯 。接下来切入正题!

系统主要功能以及使用流程

Ø 注册功能:

主要实现申请系统账号的功能。在本系统中,要实现即时交流就必须要拥有合法的账号才能进行。一个新的用户在提交自己的一些描述信息的前提下(如:用户的姓名、昵称、性别等信息),由服务器为其分配一个唯一的账号。

Ø 客户登录功能:

主要实现从客户端登录系统。其工作过程是:客户在登录时需要给出客户的账号和口令,并将账号和口令送服务端进行身份验证,当验证通过时服务器将该用户的好友信息发回客户端。

Ø 添加好友功能:

主要实现添加好友功能。在本系统中客户只能与好友聊天,所以在与某位用户聊天之前必须先将该好友添加到好友列中。其主要工作过程是:首先输入好友的账号,然后由客户端提交到服务器,点击加为好友即可加入好友列表。

Ø 删除好友功能:

主要实现从好友列表中删除好友的功能。当你不愿意再与某个好友聊天,可以将该好友从好友列表中删除。其工作过程是:首先选择一个待删除的好友,然后向服务器端提出删除好友的请求,当服务器许可即完成好友的删除操作。

Ø 私聊

主要实现好友间单独聊天的功能。其主要过程是:用户首先从好友列表中选择一个好友,然后打开私聊窗口,通过该聊天窗口来实现与好友之间的交流。

Ø 群功能

用户可以加入一个群中,这样在群里面的用户可以共同参与讨论,都能同时看到群成员发送的信息

Ø 最近联系人

当你跟一位好朋友聊天时,不小心关掉了聊天窗口,这时就可以在最近联系人的好友列表中快速找到。

Ø 好友上线提示

当你好友列表中的人有上线时,你屏幕的右下角会以渐陷渐现的方式闪出一小窗口提醒你某某好友已上线。

Ø 文件传输

主要实现在和好友聊天时可以发送各种格式的文件。工作流程:用户首先打开一发送文件的好友对话框,选择待发送的文件并向其请求付输,对方许可后即可开始传输文件,在对话框右边会提示相应的文件传输进度。

Ø 语音聊天

主要实现好友的语音聊天功能。工作流程:首先打开要通与之语音话的好友,点击语音通话申请。等对方同意后即可开始语音通话。

Ø 暗恋功能

这个功能主要是更加增强社交好友的趣味性,同时也非常的实用。主要功能是实现当你告诉系统你所暗恋的对象时,如果对方设置的暗恋对象也是你,那么系统就会同时告之双方,你们已经随入爱河,从而促成一段美妙的姻缘。

 

再抛项目的时序图、系统流程图、功能模块视图!

时序图

系统流程图 功能模块视图

4.1系统主界面
打开登陆框,选择服务器的IP和端口号,输入账号和密码,即可登陆进入主界面。如图4-1所示。

图4-1主界面
4.2 用户管理
4.2.1 用户登录
如果你是用户,可以在登陆框输入你的帐号和密码,如图4-2所示。点击登录按钮。登录成功后,进入如下图 4-3页面。用户登录后才能进入自己的博客,查看和管理个人信息.


图4-2 用户登录

图4-3 登录成功进入自己的程序界面:好友、群、最近列表拼合截图
在程序主界面,你可以查找、添加、删除好友,查看好的资料,与朋友互动聊天等。
4.2.2 用户注册
如果你还没有NOTHING的号码,你可以点击登陆界面上的注册按钮即可进入注册界面。如图4-4所示。

图4-4 用户注册
当填写好所有的资料并点击“注册”时,会得到系统分配的账号,注册成功。如图4-5所示。

图4-5 注册成功
可以正常登陆。如图4-6所示

图 4-6 新注册用户25557登陆成功
4.2.3 找回密码
如果注册用户忘记了自己的密码,可以通过登陆框的忘记密码功能找回自己的密码,如图4-7至图4-9所示。

图4-7 找回密码-步骤1
如果输入错误的信息系统如图4-8提示:

图4-8 找回密码-步骤2
输入正确则提示如图4-9所示:

图4-9 找回密码-步骤3
密码已经找回,你可以修改自己的密码,下次登录时就可以使用新密码。
4.3 NOTHING即时通讯软件
4.3.1 发送文本消息(支持离线留言)
你可以在你要发送消息的头像上点击右键,选择“对话”即可打开聊天窗口,或者直接双击头像也可以打开窗口。如图4-10所示。

图4-10 聊天对话窗口
输入任何信息,点击发送即可发送或者同时按下Alt+S完成发送功能。如图4-11所示。

图4-11发送消息给10001
服务器收到事会转发到相应的接收者,接收者的关像会闪动起来,提示有消息接收,双击打开即可显示对方的信息。进入图4-12页面。

4.3.2 接收文本信息

图4-12 接收到10000信息
此时你就可以回复对方。

4.3.3 查找好友
点击主面板下面的查找按钮将弹出查找好友面板。如图4-13所示。

图4-13 好友群查找面板
选择全部查找或输入条件即可显示相关查询结果 。 如图4-14所示。

图4-14 查找好友结果
4.3.4 查看详细资料
选择感兴趣的条目,点击详细资料即可显示。如图4-15所示。

图4-15 详细资料
4.3.5 加为好友
先按条件从服务器检索好友列表,查询过程4.3.3流程,这里不再累述。
如果对方已经是你的好友,则会提示如图4-16。

图4-16 对方已经是你的好友
如果不是好友,则可加入好友列表中。查找好友亦如4.3.3所示,过程不再累述。过程如图4-17到4-19所示。

图4-17 添加好友前的列表

图4-18 好友添加成功

图4-19 添加成功后好友列表
4.3.6删除好友
在要删除的好友面板中直接点选右键,弹出右键菜单,选择“踢出”即可。如图4-20至4-22所示。

图4-20 删除好友操作前列表,右键“赐出”

图4-21 弹出是否删除,以防被误删

图4-16 删除好友的操作的结果 Who am I 已被成功赐出列表
4.3.7搜索好友列表
在好友面板的上面输入好友的昵称,程序会自动选中你要查找的好友。如图4-17所示。

图4-17 查找好友结果
4.3.8 语音传输
对方不在线时,系统返回失败。对方在线直接拒绝时系统会通知申请方被拒。如果在通话过程中某一方通信中断,或者被手工中断,系统会告之对方。
对方在线时会自动弹出窗口,提示用户接收还是拒绝语音要求,如图4-18所示。同意即可开始语音通话。
由于语音聊天界面上没做改变,所以未对过程进行截图。

图4-18 收到语音通话请求
4.3.9文件传输
文件传输的接受的拒绝过期同语音传输过程类似,不过复述。
文件传输申请过程,如图4-19

图4-19
对方接收到信息请求。如图4-20

图4-20 接收文件请求
确定后开始接收文件,右边框显示的是文件传输的进度条。如图4-21。文件传输完毕如图4-22.

图 4-21 文件传输过程中

图 4-22 文件传输完毕

4.3.10群功能
跟单人聊天类似,直接发送,群里面在线的人都可以接收。也有消息提示音和头像闪动提示。如图4-23所示。

图4-23 其它用户接收到群消息
4.3.11最近联系人
每当跟别的朋友私聊时,系统会自动把你刚刚私聊的好友加入好友列表中,以便下次查找,如图4-24所示。

图4-24 好友发前聊天信息前后
4.3.12好友上线提示
当你的好友上线时,系统会以右下角弹窗的方式通知您,如图4-25所示。

图4-25 好友上线提示框
4.3.13 暗恋
暗恋功能的使用流程:
设置你暗恋的对象,如果你暗恋的人还没设置或者说设置的暗恋对象是别人则没反应。如图4-26。如果对方是暗恋的对象也是你。系统会通过消息告诉你们彼此。如图4-27。

图4-26 暗恋对像设置

图 4-27 系统将暗恋消息通知双方

程序在视频(由于当时时间太紧,所以后来改成拍照了。哈哈~)和音频有用到JMF相关包,以及Apache的commons-dbutil.jar我放在Google code的Download下面,需要的朋友去下载,当然注意检出后配置jar包的路径。至于JMF是什么?我知道肯定有人要问了、没问题,知之为知之,不知Google之!

JMF下载地址:http://download.oracle.com/otn-pub/java/jmf/2.1.1e/jmf-2_1_1e-windows-i586.exe

dbutils下载地址:http://mirror.bit.edu.cn/apache//commons/dbutils/binaries/commons-dbutils-1.5-bin.zip

这个程序朋友们普遍反馈说如果只看这个程序的上半身的话简直就是Q。下半身没弄成Q是因为我没想弄成Q,主要是感觉Q的下半身功能不太实用了。

这个软件是我在实习时写的(经常出差,时间不充分!所以只把主要的功能实现了)。一直没有发布的原因是因为我自己也想找个时间完善一下再发布。结果就是因为各种工作原因也一直没顾的上修改。最近看了《拖延心理学》,于是果断把拖延的事情列出清单,顺便把工作辞了!先把项目发布了。代码是在可能有点乱(毕竟是小鸟时期(还不是菜鸟)的作品)!希望对您能有点参考价值。

项目我已经在google code、github发布了。

Google Code:http://code.google.com/p/nothing-to-say/

github : https://github.com/nothing-whoami/nothing-to-say

有问题的朋友可以E-mail:nothing.whoami#gmail.com  #/@。

如果属于普遍性的问题我会在放在贴子后面补充,如果是个别的问题我会单独在E-mail中回复!这里再补充下如何在Google code检出源码的工具SVN,如果不会用命令行的就用TortoiseSVN吧。遇到这个类问题麻烦先Google下,如果不会Google的话,那就试着用百度Google一下。重要的不是你学会了某点知识,而是你掌握某种方法!

最后歪歪下iteye的可视化编辑器,伤不起啊!

猜你喜欢

转载自nothing-whoami.iteye.com/blog/1622502
今日推荐