需要哪些关键技术?特别是关于客户端推送的。
这种需求不建议用轮询方式,我所知道的方案只有现在的许多服务器端的推送技术,或者叫做实时Web,这样的技术有webpubsub(http://code.google.com/p/webpubsub)/WebSocket(http://www.WebSocket.org)等其实我一直对WebQQ如何做到的比较感兴趣,希望有人可以回答我的问题。
有两种方式吧。
以websocket为代表的长连接,用户一访问服务就建立连接,直到用户退出,期间服务器可以推送(PUSH)消息到客户端;但是服务器维持连接数很多,成本高。轮询方式,比如每隔10s用ajax获取数据,但是消息会有延迟。可以根据业务的即时性和成本预算调整轮询间隔。
1.旧的方式:使用轮询方式,像服务端定时请求,看是否有新的信息进入,然后刷新。缺点:服务器负载较大。2.使用Comet技术,剩下的交给comet技术去实现就可以了。具体的实现代码或者comet技术描述可以问度娘,讲的很详细。参照:http://sinooyj.iteye.com/blog/1133647
可以选择用js写,客户端推送就用ajax调用数据。如果你不想经常查数据库,可以用setinterval每隔一段时间就去触发ajax。如果要实时查询,可以通过监察submit事情,当 留言板submit后,就可以触发ajax回调数据更新页面。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
每个人心里都住着一个人,或眷念,或暗恋,或想念。
文章 0 评论 0
接受
发布评论
评论(4)
这种需求不建议用轮询方式,我所知道的方案只有现在的许多服务器端的推送技术,或者叫做实时Web,这样的技术有webpubsub(http://code.google.com/p/webpubsub)/WebSocket(http://www.WebSocket.org)等
其实我一直对WebQQ如何做到的比较感兴趣,希望有人可以回答我的问题。
有两种方式吧。
以websocket为代表的长连接,用户一访问服务就建立连接,直到用户退出,期间服务器可以推送(PUSH)消息到客户端;但是服务器维持连接数很多,成本高。
轮询方式,比如每隔10s用ajax获取数据,但是消息会有延迟。可以根据业务的即时性和成本预算调整轮询间隔。
1.旧的方式:使用轮询方式,像服务端定时请求,看是否有新的信息进入,然后刷新。缺点:服务器负载较大。
2.使用Comet技术,剩下的交给comet技术去实现就可以了。具体的实现代码或者comet技术描述可以问度娘,讲的很详细。参照:http://sinooyj.iteye.com/blog/1133647
可以选择用js写,客户端推送就用ajax调用数据。如果你不想经常查数据库,可以用setinterval每隔一段时间就去触发ajax。如果要实时查询,可以通过监察submit事情,当 留言板submit后,就可以触发ajax回调数据更新页面。