请问各位大虾,在JSP如何实现即时通信????
现在又如下需求:
要做一个办公管理系统,要实现即时通信功能,用户可以跟所有在线的用户进行通信,通信的方式可以是文本,最好可以提供语音。
每个用户可以同时和几个用户进行通信,和每个用户通信都弹出一个独立的聊天框。
这个需求应该如何实现呢????要用到什么技术???
有人说用JSP+Ajax实现,但是我不懂怎么和服务器端交互。。。。。。。。。。
用户点击提交,把信息发送到服务器中保存起来,但怎么发给其他用户???其他用户又怎么知道有信息来???完全搞不懂啊!!!!
望各位指点一下!!!!!!
用Ajax的话也不好实现,因为Ajax只能客户端向服务端发请求,然后等待服务器返回结果。但是DWR可以实现推送技术就是服务端向客户端主动推送信息,具体的你可以去学习DWR框架,DWR也整合了Ajax,很简单的。DWR可以实现通过java类调用页面JS脚本,从而获得用户要收到的信息。
我以前做过这种网页即时通讯的小例子,主要就是通过登陆用户ID和SessionID来获取要收发的页面。我做的只能传送文本,如果要做语音的话肯定就没那么简单了,希望采纳!
语音啊,还真没做过,WEB技术实现语音聊天的网站我都没有接触过,但是你们公司非要实现这个功能感觉不值得,那得花很高的代价。貌似用ActiveX插件就可以,在下才疏学浅,实在无能为力了。
解决方案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就可以被你所用