首先做个自我介绍,本人大学毕业两年,前两年都在花旗银行工作。银行大家都懂的,根本学不到新技术。so...技术不大好。但我有上进的心face[太开心] 哈哈,
用java集成了a(http://layim.layui.com/)[LayIM],基本功能都实现了

<1>离线消息接收(好友离线消息以及群组离线消息) 
<2>1-1发送消息(文字,图片,文件) 
<3> 群组消息(文字,图片,文件)
<4>聊天记录查询(好友聊天记录以及群聊天记录)
<5>群组管理(群主可以添加好用到群    群成员可以退出群).....

下面将实例展示给大家,不许偷笑哈,有什么问题我们可以一起探讨!
平台服务端用的框架是springmvc,总的来说,java集成layIm并不难,废话不多说。

1.初始化界面(加载成员列表,初始化群组,接收离线消息)

列表中的用户全是系统用户,由于本系统中存在角色,所以用角色名称当做组名称。(注意本系统只需要把所有用户查出来即可,默认所有人都已成为好友,是不是简单了很多啊face[偷笑] ,但这是一个坑,可能以后会改face[衰] )
初始化代码片段(socket)
[pre]
var etiger = {};
etiger.socket = {
webSocket:"",

init:function(){
if (!window.WebSocket){
alert("你的浏览器不支持websocket,请升级到IE10以上浏览器,或者使用谷歌、火狐、360浏览器。");
}
webSocket = new WebSocket(wsServer);
webSocket.onerror = function(event) {
 alert("websockt连接发生错误,请刷新页面重试!")
};

webSocket.onopen = function(event) {
//  webSocket.send("_online_user_"+currentId); 
};
webSocket.onmessage = function(event) {
var data = event.data;
console.log("lg:"+JSON.stringify(data));
if(data.indexOf("_online_all_status_")>=0){
}

if(data.indexOf('_sys_')>=0){//系统通知
               return;
}
if(data.indexOf('_msg_')>=0){
 //0.mine 1.type 2.id 3.name 4.avatar 5. content
 //聊天信息
  var arra = data.split("_msg_");
                       var mine = arra[0];
                       var type = arra[1];
                       var id = arra[2];
                       var name = arra[3];
                       var avatar = arra[4];
                       var content = arra[5];
                       layim.getMessage({
    username: name
       ,avatar: avatar
       ,id: mine
       ,type: type
       ,content: content
  });
 };
 }
},
send:function(data){
this.waitForConnection(function () {//连接建立才能发送消息
webSocket.send(data);
   }, 500);
}
,
sendData:function(data){
this.waitForConnection(function () {
webSocket.send(data);
   }, 500);
},

waitForConnection : function (callback, interval) {//判断连接是否建立

if (webSocket.readyState === 1) {
       callback();
   } else {
       var that = this;
       setTimeout(function () {
           that.waitForConnection(callback, interval);
       }, interval);
   }
}
};

//初始化websocket by侯艳海
etiger.socket.init();
//获取离线消息  by侯艳海
etiger.socket.sendData("_online_user_"+currentId);
[/pre]
2.群组管理
本系统存在用户组管理模块,恰好与im结合,用户组即为群组,谁创建的谁为管理员! 群管理员可以删除群,同时可以删除群成员。
注:每个人只能修改自己所创建的群组

3.添加成员,退出群

4.发送文件,图片

5.个性签名修改,头像修改

6.查看聊天记录

附上java服务器端websocket推送消息代码片段:
1-1:[pre]
String state = "0";
if (TelChatSocketSessionUtils.hasConnection(toUser)) {
TelChatSocketSessionUtils.get(toUser).getAsyncRemote().sendText(_msg_);
state = "1";
}
//保存消息记录
ChatUtil.saveMessage(fromUser,toUser,"",message,state,type,name,avatar);
[/pre]

群组:
[pre]
_msg_ = groupId+"_msg_"+type+"_msg_"+groupId+"_msg_"+name+"_msg_"+avatar+"_msg_"+message;
for(int i = 0; i < memberList.size(); i++){
if (TelChatSocketSessionUtils.hasConnection(memberList.get(i))) {
TelChatSocketSessionUtils.get(memberList.get(i)).getAsyncRemote()
.sendText(_msg_);//
state = "1";
}
//保存消息记录
ChatUtil.saveMessage(fromUser,memberList.get(i),groupId,message,state,type,name,avatar);
}
//保存群消息
ChatUtil.saveMessage(fromUser,groupId,groupId,message,"1",type,name,avatar);
[/pre]

qq:1548638692

java 集成 layIm 聊天工具相关推荐

  1. Java版qq聊天工具+Sql数据库+论文(功能全面)可做期末大作业(可毕设)

    文章目录 前言 一.登录界面 二.注册界面 三.修改密码 四.忘记密码 五.查找好友 六.群聊 七.使用方法及下载地址 前言 Java版仿QQ聊天工具(MyQQ)+Sql数据库,里面的功能有注册.登录 ...

  2. java制作局域网聊天器_基于Java的局域网聊天工具

    一 需求分析 掌握Java语言的程序设计方法,理论结合实际操作巩固我们所学的现有知识,使用图形用户界面和socket通信实现一个聊天程序,充分利用线程知识,实现用一个局域网聊天室,同时学会处理各种异常 ...

  3. java+socket 简易聊天工具

    1.服务器端程序 package com.test3; import java.io.*; import java.net.*; import java.awt.*; import java.awt. ...

  4. java制作QQ聊天工具——1最起码知识点

    本人刚刚用java制作了一个简单的QQ聊天系统,虽然挺简陋的,但还是和大家分享一下心得,因为在这个过程中,我也遇到了好多问题,上网各种百度搜索,但根本原因在于自己java基础没有打好,对一些概念性的东 ...

  5. Java版QQ聊天工具

    代码太长,只是展示一下效果图,源代码可以在csdn下载 搜索"Java版腾讯QQ" 下面一张是对窗体透明度的设置

  6. java 仿qq 聊天工具(基于mvc三层架构,附 mvc架构模式pdf说明文档)支持开源

    用了3天多时间,因实验5要求就顺便做一下这东西吧,废话不多说,就简单说一些东西吧: 该聊天系统是基本mvc模式设计的(感觉这种模式代码比较好管理,可扩展性强),编写过程中涉及的东西比较多,包括对象实例 ...

  7. java 简单的聊天工具 (带界面的)

    新的编辑 首先建立一个工程 导入数据库驱动 工程图 [外链图片转存中-(img-L5122MFE-1653136979314)] [外链图片转存中-(img-nhoCvbQL-165313697931 ...

  8. java三层 开源_java 山寨qq 聊天工具(基于mvc三层架构,附 mvc架构模式pdf说明文档)支持开源...

    [实例简介] java 山寨qq 聊天工具(基于mvc三层架构,附 mvc架构模式pdf说明文档)支持开源 [实例截图] [核心代码] java山寨qq聊天工具(基于mvc三层架构,附mvc架构模式p ...

  9. java 集成开发工具_最好的Java开发人员测试和集成工具

    java 集成开发工具 通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控. 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可 ...

最新文章

  1. 设计模式系列·抽象工厂模式
  2. 这个图像生成领域的PyTorch库火了,涵盖18+ SOTA GAN实现
  3. S210-设置通过X130-Profinet口进行配置
  4. Python常用模块之configparser
  5. UVA Live 6068
  6. python数据结构与算法第10讲_python数据结构与算法(10)
  7. Android平台监听系统截屏方案预研及相关知识点
  8. springboot 源码_springboot框架源码分享
  9. 微信公众号 获得多客服使用权限
  10. alert文件位置 oracle,Oracle11gAlertlog文件位置的问题
  11. java threadlocal用法_Java ThreadLocal的用法解析
  12. python递归遍历目录_Python实现递归遍历文件夹并删除文件
  13. 分享一个同行的blog,UI方面的。
  14. curl基于URL的文件传输工具
  15. 《机器学习实战》中英文电子书 + 源代码下载
  16. 生活娱乐 如何像印度人学英语
  17. JavaScript中的倒叙和排序
  18. 俄罗斯方块是java_俄罗斯方块(java版)
  19. python格式规范的要求_Python书写规范
  20. C语言自学路之将小写数字完美转换成大写数字

热门文章

  1. 《好的爱情》读书笔记
  2. Force DAO 任意铸币攻击事件复盘分析 | 零时科技
  3. chromatin loops:染色质环简介
  4. IFTTT Evernote 自动生成笔记
  5. Windows Media Player 修复
  6. 数据可视化之交通可视化
  7. 【Unity3D自学记录】自制作手机平衡球游戏
  8. 回击MLAA:NVIDIA FXAA抗锯齿性能实測、画质对照
  9. 51单片机独立按键长按与短按(长按触发连发功能)以及双击功能
  10. 残留+恶意+软件+android,Android的PP Assistant教您如何保护手机的安全性