openfire推送数据慢的原因?
1、定期查询:间隔特定时间查询数据库,有新消息时显示。
优点:实现起来简单;缺点:实时性不够好,对于移动客户端耗电量太大;
2、通过socket推送:建立一个长连接,一有新消息就发送给客户端。在局域网内没问题,但是跨网时客户端一直无法收到消息;
3、通过短息推送:这个一般有人卖短信发送接口的,但是比较费钱 4、长轮询:基本上与目前很多网站使用的方式一样(WEB阿里旺旺、微博、人人等等)。
客户端发起一个很长超时时间的请求,然后服务器端在没有消息的时候阻塞这个请求(一直不给返回值)直到快要超时为止,有消息到来再返回响应。客户端收到响应或超时后立即再发起请求。