当前位置:编程学习 > JAVA >>

类似于淘宝的web聊天应该怎么实现,需要用到哪些技术

做过这方面东西的人给说下。  --------------------编程问答-------------------- 不要沉啊 --------------------编程问答-------------------- socket技术肯定是要的。淘宝的这个聊天不知道是不是java编的,也许用到applet(可能性蛮小)。也可能是js弹窗(可能性较大) --------------------编程问答-------------------- 我告诉你吧,这是socket编程,有专门的socket聊天服务器,可能是java、nodejs、python等写的,页面上,一般都会这么做,如果支持websocket,就用websocket做连接实现即时聊天,否则就用flash里面的socket,如果没用这2种技术,那么肯定就是ajax轮询来实现的。 --------------------编程问答--------------------
引用 3 楼 wuhongjun126 的回复:
我告诉你吧,这是socket编程,有专门的socket聊天服务器,可能是java、nodejs、python等写的,页面上,一般都会这么做,如果支持websocket,就用websocket做连接实现即时聊天,否则就用flash里面的socket,如果没用这2种技术,那么肯定就是ajax轮询来实现的。


谢谢。 --------------------编程问答-------------------- 不是SOCKET,HTTP协义的,哪用得到SOCKET,这是用的AJAX技术搞的。现在WEB聊天一般都用的技术叫服务器推送,这类的东西。思路就是当你一打开聊天页面,就会用AJAX去请求消息处理类,如果有消息就会给你返回来,如果没有消息就会把你的请求挂起来,当然不是直接挂起来,而是新建一个线程再挂起。直到有消息或者到一个固定时间再把你的请求释放。释放后客户端马上又再次请求。这样一直循环。就OK了。查看一下AJAX服务器推送技术,也叫反向 Ajax  --------------------编程问答--------------------
引用 5 楼 bichir 的回复:
不是SOCKET,HTTP协义的,哪用得到SOCKET,这是用的AJAX技术搞的。现在WEB聊天一般都用的技术叫服务器推送,这类的东西。思路就是当你一打开聊天页面,就会用AJAX去请求消息处理类,如果有消息就会给你返回来,如果没有消息就会把你的请求挂起来,当然不是直接挂起来,而是新建一个线程再挂起。直到有消息或者到一个固定时间再把你的请求释放。释放后客户端马上又再次请求。这样一直循环。就OK了。查看一下AJAX服务器推送技术,也叫反向 Ajax 
 非常感谢 --------------------编程问答-------------------- openfire也可以实现,但是不知道淘宝用的是什么 --------------------编程问答-------------------- 菜鸟弱弱的说一句,这东西网上大把插件可以拿过来改改就能用的。自己做费时费力 --------------------编程问答--------------------
引用 5 楼 bichir 的回复:
不是SOCKET,HTTP协义的,哪用得到SOCKET,这是用的AJAX技术搞的。现在WEB聊天一般都用的技术叫服务器推送,这类的东西。思路就是当你一打开聊天页面,就会用AJAX去请求消息处理类,如果有消息就会给你返回来,如果没有消息就会把你的请求挂起来,当然不是直接挂起来,而是新建一个线程再挂起。直到有消息或者到一个固定时间再把你的请求释放。释放后客户端马上又再次请求。这样一直循环。就OK了。查看一下AJAX服务器推送技术,也叫反向 Ajax 

这只是一种思路,ajax轮询,我后面有补充,如果不是socket就是ajax轮询做的。
websocket本质上就是socket的连接吧?flash 也是xmlsocket类来进行即时通信,如果你对我说的怀疑,你可以看看web.qq.com里面有一个flash socket的 swf文件,你只要破解看一下,就明白了。
对于轮询,对于IE8一下浏览器会有卡死的情况,因为你轮询时间太快。
--------------------编程问答-------------------- 还是用socket比较好。看ID。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,