大家上百度或者新浪微博的时候常常会看到右上角会弹出一个“有一个人回复你的留言”,“XXX加你为好友”,没有刷新页面的时候自动弹出来的。
不要用js  settimeout反复发送请求这种离奇的方法,领导说了不能这么做有人说要弄什么长连接之类的我之前看到网上是发送了一个请求之后,把线程sleep一段时间,这个消息是有了,但是线程都被它占了,其他东西都动不了了……有做过类似功能的指导下,现在真真是水深火热啊。

解决方案 »

  1.   

    如果用户少,长连接可以考虑,要是用户多的话,你还是老老实实的用settimeout吧
      

  2.   

    长连接耗资源呀, settimeout设置个适当的值还是可以的
      

  3.   

    我能想到的也只有轮询的方法了。因为http协议是客户端发情求,服务端才会响应的。客户端不发情求,服务端不会主动发东西的。轮询的时间间隔如果不是一秒钟一次那么频繁的话对服务器压力应该不大的。
      

  4.   

    你们说的轮询不会是settimeout吧?还是别的啊?俺是个刚入职的菜鸟
      

  5.   

    ajax那个我会,但是啊,他们说不能用这个做,用户太多,服务器压力大
      

  6.   

    别听那帮人胡咧咧,长连接为了防止连接死掉,客户端也是20秒重连的,而且长期占用服务器端连接数,其优势并不在于节省资源,而是反应速度。ajax轮询做的话根本就没压力。