讨论web在线聊天系统的实现思路

xinkeji 2011-08-24 02:48:50
最近公司准备开发一套在线客服系统,主要实现在线即时聊天、文件传输等功能;避免客户安装插件或软件,本人打算用b/s架构进行实现;但是传统的web即时聊天,一般在界面中定时刷新,这样很影响性能,所以我上网了解了一下,最后决定采用ajax的反推技术,由服务端主动推送消息给客户端。
目前我已经用dwr2.0.3的反推技术实现在线聊天功能,但是总是担心不够稳定,因为自己在测试的时候,偶尔几次都发送不成功,当然大部分都是没问题的,比如session丢失发送不成功是可以控制,但是有些莫名其妙的不成功就不知道原因了;有人用dwr实现过在线聊天吗,用户量达到上千或上万的时候可靠吗?
1.烦请有在线聊天系统开发经验的朋友给小弟提提介意啊;类似ajax反推的成熟案例,好像webqq、搜狐、新浪、腾讯都有用到web即时聊天,他们采用的技术或思路大家分享一下
2.另外系统的文件传输,应该用点对点传输比较好,不然通过服务端在中转就浪费资源了,请朋友们也说说点对点传输文件的相关实现
...全文
2058 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
order_c 2013-09-07
  • 打赏
  • 举报
回复
我最近也写了一个简单的web聊天室,用的是ajax+php+memcache实现。
dyh2452819449 2013-09-06
  • 打赏
  • 举报
回复
楼主 你那聊天系统源码还在吗? 能否发一份给我参考一下 我现在也在为这聊天系统发愁,没有一点思路
大侠MH 2013-07-26
  • 打赏
  • 举报
回复
我也想要一个啊
mamba10 2013-07-26
  • 打赏
  • 举报
回复
pushlet 可以考虑?
etherdream 2013-07-25
  • 打赏
  • 举报
回复
用flex比较好。低成本高体验
KK3K2005 2013-07-11
  • 打赏
  • 举报
回复
先做出来再根据实际情况通过重构来优化性能 web添加服务器做负载均衡什么的很方便的
KK3K2005 2013-07-11
  • 打赏
  • 举报
回复
你考虑性能考虑的太多了 就用ajax做个刷新聊天 也不用强求什么推之类的 1.服务器维护一个聊天内容的列表 2.客户端只要记住当前最后更新的聊天的序列变好 3.客户端发送内容要保证成功 不成功必须重发或者提示 文件传输 既然你选择了b/s结构 那么就不要考虑点对点了 直接传服务器把
Charlie_Peng 2013-07-11
  • 打赏
  • 举报
回复
难题都没人答
Alanzhou007 2012-11-30
  • 打赏
  • 举报
回复
yehZhou 2012-09-20
  • 打赏
  • 举报
回复
觉得nodejs,web socket等技术实现起来比较方便哎,至少在线聊天做起来很方便。
lst_000 2012-09-18
  • 打赏
  • 举报
回复
这个问题好像一直都没有比较好的解决方案。。。
泡泡鱼_ 2012-09-15
  • 打赏
  • 举报
回复
呃。。。。b/s的想点对点传输,这个不靠谱。需经服务器中转
ysc_java 2012-09-11
  • 打赏
  • 举报
回复
378656569@qq.com 你好 我最近也要做个客服的在线聊天系统 想问你个问题, 用户不登录 用什么来确定用户的身份sessionId? 如何实现用户可选择客服坐席来解答? 还有客服可以实现一对多服务 这个是要自己开发客户端? 还是说用网页形式展现? 能不能给你的代码给我借鉴下
ysc_java 2012-09-11
  • 打赏
  • 举报
回复
378656569@qq.com 你好 我最近也要做个客服的在线聊天系统 想问你个问题, 用户不登录 用什么来确定用户的身份sessionId? 如何实现用户可选择客服坐席来解答? 还有客服可以实现一对多服务 这个是要自己开发客户端? 还是说用网页形式展现? 能不能给你的代码给我借鉴下
xuexiaodong2009 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 woshimaikou 的回复:]

B/S http是一种无状态的协议,ajax的反推技术个人认为那只是个噱头,服务器不可能知道那个客户端是谁。个人认为他的根本还是 拉技术。
b/s下的点对点的文件传输同理 不可能,必走服务器。QQ的文件传输好像也是走服务器的。
[/Quote]b/s下的点对点的文件传输同理 不可能,必走服务器
licip 2011-08-24
  • 打赏
  • 举报
回复
点对点我也感觉不可能,应该要经过服务器。
woshimaikou 2011-08-24
  • 打赏
  • 举报
回复
B/S http是一种无状态的协议,ajax的反推技术个人认为那只是个噱头,服务器不可能知道那个客户端是谁。个人认为他的根本还是 拉技术。
b/s下的点对点的文件传输同理 不可能,必走服务器。QQ的文件传输好像也是走服务器的。
fan849942817 2011-08-24
  • 打赏
  • 举报
回复
这方面暂时还真没接触过 但是你测试的时候不用给那么大的压力吧 做web即时聊天 如果不是那几个门户网站 人数应该都是个位吧! 其实也可以用QQ 交流 嵌入个QQ 客户那样的也挺好 一般用户都应该有QQ 吧 !

52,797

社区成员

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

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