问题描述
请问各位大虾,在JSP如何实现即时通信????现在又如下需求: 要做一个办公管理系统,要实现即时通信功能,用户可以跟所有在线的用户进行通信,通信的方式可以是文本,最好可以提供语音。 每个用户可以同时和几个用户进行通信,和每个用户通信都弹出一个独立的聊天框。 这个需求应该如何实现呢????要用到什么技术??? 有人说用JSP+Ajax实现,但是我不懂怎么和服务器端交互。。。。。。。。。。 用户点击提交,把信息发送到服务器中保存起来,但怎么发给其他用户???其他用户又怎么知道有信息来???完全搞不懂啊!!!! 望各位指点一下!!!!!! 问题补充:<div class="quote_title">proTecJavaChen 写道</div><div class="quote_div">用Ajax的话也不好实现,因为Ajax只能客户端向服务端发请求,然后等待服务器返回结果。但是DWR可以实现推送技术就是服务端向客户端主动推送信息,具体的你可以去学习DWR框架,DWR也整合了Ajax,很简单的。DWR可以实现通过java类调用页面JS脚本,从而获得用户要收到的信息。<br />我以前做过这种网页即时通讯的小例子,主要就是通过登陆用户ID和SessionID来获取要收发的页面。我做的只能传送文本,如果要做语音的话肯定就没那么简单了,希望采纳!</div><br /><br /><br />你的答案很好,推送技术确实很好的实现了这个问题!!!<br /><br />其实我的需求有要求我做语音的部分,如果现在考虑要用到语音,你有什么好的解决方案吗???我也觉得语音肯定不简单!!
解决方案
用Ajax的话也不好实现,因为Ajax只能客户端向服务端发请求,然后等待服务器返回结果。但是DWR可以实现推送技术就是服务端向客户端主动推送信息,具体的你可以去学习DWR框架,DWR也整合了Ajax,很简单的。DWR可以实现通过java类调用页面JS脚本,从而获得用户要收到的信息。我以前做过这种网页即时通讯的小例子,主要就是通过登陆用户ID和SessionID来获取要收发的页面。我做的只能传送文本,如果要做语音的话肯定就没那么简单了,希望采纳!
解决方案二:
解决方案1:flex flex可以用red5或者fms实现语音和视频的传输 而且现在flex也开发了p2p的服务 缺点是网页初始化速度慢解决方案2:用ajax推送 但是音频的部分可以单独用flex页面实现 这样可以解决大部分网页初始化速度慢的问题 比较首选解决方案3:ocx控件+firefox控件 这个肯定能用 但是浏览器兼容没戏 开发成本高解决方案4:java applet:java的jmf开发包可以做视频和语音的聊天 但是java applet需要在客户端安装虚拟机并且执行效率比较差解决方案5:页面就不支持语音 想聊就用网站提供的聊天客户端 聊天客户端就开发个windows的就好了 因为多数国人都用windows 如果你写的聊天交互数据格式支持xmpp我觉得这个聊天客户端做不做都可以 openfire本身就已经够用了 spark或者gtalk就可以被你所用
解决方案三:
语音啊,还真没做过,WEB技术实现语音聊天的网站我都没有接触过,但是你们公司非要实现这个功能感觉不值得,那得花很高的代价。貌似用ActiveX插件就可以,在下才疏学浅,实在无能为力了。