向大家请教一个java web聊天的问题!

AslenG 2014-04-03 06:53:36

【背景描述】
我用javaee6和easyui框架+pushlet做了一个聊天的项目,类似于qq,没有好友功能,所有用户对于每个人都是可见的,用户登录后展开用户树,勾选一个或多个用户点击按钮开始聊天。聊天界面是弹出层做的(即easyui-window,用过的朋友大概知道),弹出层是我用js动态生成的,无限弹出的根本就是给div不同的id即可。

【问题描述】
单人对单人(a用户到b用户)时,a用户页面的弹出层id比如是a_b,b用户弹出层的id比如是b_a,这样我pushlet自带的onData()方法接受到后台返回的聊天内容时,可以依此判断,a_b,第一个永远是自己的用户名,第二个是对方的用户名,根据这个规则我用split('_')方法就可以组装成一个完整的id,从而将聊天内容填充到正确的id的div里。
问题出现!
多人对多人时,如:a,b,c,d四个用户,这时a用户发了一条消息给b,c,d三个用户,那么这三个用户得到的id是a_b_c_d,这时我用split('_') 方法截取后,a是发送人,b_c_d是接受人,那么b用户动态生成的id就是b_a_c_d,c用户动态生成的id就是c_a_b_d,d用户生成的id就是d_a_b_c,但这时!!如果b用户又发了一条消息给a,c,d三个用户,那么a,c,d这三个用户的id又发生了改变,变成了a用户:a_b_c_d,c_b_a_d,d_a_b_c,依此类推,他们这四个人互相发消息后各自的id都会发生改变,这样我就无法确定他们的id,也就无法将聊天内容正确的填充到对应的控件里了。
over!不太会表达,字有点多,大家多多包涵。
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
牟云飞 2014-04-04
  • 打赏
  • 举报
回复
用户a的id就是a就行了,用户b的id就是b,用户c的id就是c,别动态生成了就用原来的不行吗? a发起消息,a_b_c_d split解析形成数组,数组第一个就是发送者(即a),剩下的b、c、d即发送目标用户b 、用户c 和用户 d c发起消息,c_a_b_d split解析出来发送目标用户a 、用户b 和用户d 就用原来的a、b、c、d做每一个唯一标识不动态生成就可以了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧