`
nothing.whoami
  • 浏览: 53024 次
社区版块
存档分类
最新评论

【开源】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的可视化编辑器,伤不起啊!

分享到:
评论

相关推荐

    考拉开源仿微信uniapp前端+JAVA后端IM即时通讯

    《考拉开源仿微信uniapp前端+JAVA后端IM即时通讯》 本项目是一个基于开源技术构建的即时通讯系统,其设计灵感来源于微信,旨在提供类似微信的聊天体验。项目的核心在于前端使用了uniapp框架,后端采用了JAVA语言...

    开源免费的即时通讯软件功能和UI符合国内习惯

    标题提到的“开源免费的即时通讯软件功能和UI符合国内习惯”可能指的是WildfireChat,一个基于Java开发的即时通讯系统,它的设计考虑了中国用户的使用体验和需求。WildfireChat采用了更适应移动端的通信协议,相较于...

    即时通讯全套JAVA源码

    用JAVA语言,基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息发送如内置(Http、...

    JAVA开发高性能IM即时通信系统源码.zip

    JAVA开发高性能IM即时通信系统源码,JAVA语言开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息...

    开源webim即时通讯源码

    聚友中国即时通讯软件 使用它,可以为用户构建一个以好友关系为核心的即时交流网络,也可以把它作为web客服软件来使用。  PC端+WEB端+android端+ios端+平板端+云端多平台互通、方便集成各类应用。

    即时通讯APP全部源码/四合一即时通讯聊天源码 全开源无任何加密,群聊、私聊、朋友圈

    即时通讯APP全部源码/四合一即时通讯聊天源码 全开源无任何加密,群聊、私聊、朋友圈 测试环境: php5.6 apache2.4(或nginx) mysql5.6 推荐操作系统Linux,不推荐Windows 后端安装(安装步骤太长了。就放出来后端的...

    [计算机毕设]基于java的简单即时通讯工具系统设计与实现(源代码+项目报告).zip

    Java是当前比较流行的开发语言之一,它有着自己的易用特点与性能优势,比如跨平台、安全性、多线程、网络Socket编程、数据流概念等方面,因此通过对开源即时通讯LinuxQQ的研究和分析,基于Java语言和J2EE规范设计了...

    最新鸽哒IM即时通讯系统源码 带安卓、苹果、PC端(全开源)

    当前市面上大部分即时通信源码都是较老的版本,不仅界面老旧还不支持最新的安卓版本, 三端是java,oc,c#,全是纯原生,全开源的,市面上很多都是用h5封装, 加载慢不说,还有很多bug,体验根本不能与原生想比。...

    开源企业IM,恩布企业即时通讯软件v1.24.0.519版本

    恩布企业IM,开源企业IM,免费企业即时通讯软件,PC客户端v1.24.0.519版本,安装即可使用。

    喧喧(开源免费的企业即时通讯IM软件)v2.4.0源码包

    喧喧是一款开源免费的企业即时通讯IM软件、聊天软件,提供企业内部通讯交流、企业通讯录、协同办公通讯交流、企业IM解决方案。 喧喧是由然之协同推出的即时通信解决方案。 喧喧功能特色 开聊:和服务器上的任何...

    完整的开源java版CMS

    使用这个开源Java CMS,你可以快速搭建一个功能完善的网站,通过提供的模板来调整网站样式,同时得益于开源性质,你可以深入源码进行定制,满足特定业务需求。不过,理解并熟悉Java开发和CMS的使用方法是必要的,这...

    IM即时通讯聊天系统源码UNIAPP开源费附教程

    IM即时通讯聊天系统源码UNIAPP开源项目 开放28018 8383 1236端口 演示ys.bzoss.top 安装mongodb 修改端口为28018 删除全部禁用函数 命令安装: mongodb安装 cd /www/server cd mongodb cd bin ./configure make &...

    [飞享]-全开源即时通讯(IM)系统的Android客户端.zip

    [飞享]-全开源即时通讯(IM)系统的Android客户端,底层协议栈使用Java NIO进行完全自主改造,全新的心跳设计,全新的二进制协议设计,支持与[飞享] Web客户端消息互通。支持文本,语音,视频等常用功能 软件开发设计...

    java开源包9

    BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加...

    Android WebSocket实现即时通讯功能

    使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...

    使用开源协议软件搭建即时通讯服务器宣贯.pdf

    本篇文章主要介绍如何利用开源软件搭建自己的即时通讯服务器,以实现企业内部或特定群体间的高效沟通。 Jabber是一个著名的即时通讯服务服务器,它基于自由开源软件理念,允许用户自行建立即时通讯服务器,不仅适用...

    java与Omron Fins通信源码 java与欧姆龙PLC通信 全开源 springboot与欧姆龙PLC fins通信

    java与Omron Fins通信 java与欧姆龙PLC通信 全开源 springboot与欧姆龙PLC fins通信 上位机欧姆龙通信 JAVA编写OMRON Fins TCP协议与OMRON PLC通讯源码 文件类型:程序源代码 主要功能: 本实例基于OMRON Fins TCP...

    java开源包10

    BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加...

    2022最新鸽哒IM即时通讯系统源码 带安卓、苹果、PC端(全开源)+部署教程

    鸽哒是一款类似于微信的即时通讯软件。独立部署!加密通道!牢牢掌握通讯信息!1.产品为独立开发,非网上下载不能用的产品!2.即时聊天软件技术难度大,请不要拿网络其他聊天软件来对比!3.网络上大部分聊天类APP是...

    最新鸽哒IM即时通讯系统源码 带安卓、苹果、PC端(全开源).zip

    三端是java,oc,c#,全是纯原生,全开源的,市面上很多都是用h5封装, 加载慢不说,还有很多bug,体验根本不能与原生想比。 后台是酷信的,包括linux、Windows、docker三种部署方式,后台开发语言主要是java, ...

Global site tag (gtag.js) - Google Analytics