【问题标题】:long polling using JSON not working使用 JSON 的长轮询不起作用
【发布时间】:2012-07-28 15:58:34
【问题描述】:

我正在尝试在 Google 应用引擎服务器上构建具有长轮询机制的聊天应用程序。 HTTPRequest 的默认时间为 30 秒,因此如果服务器没有更新,我每 28 秒向服务器发送一次轮询请求(这样我就不会错过来自其他客户端的任何消息)。 第一个请求已注册,但 28 秒后发送的第二个请求未到达服务器。

function loadPage(query){
$.get({ url: query, success: function(events){
   updated = 1;
   //events data processing
   createServerChannel();
     });
}

  function createServerChannel(){
      var query='/ChatController?&user='+userName+'&sessionName='+sessionName+'&register=true';
      loadPage(query);
      updated = 0;
      setInterval(function() { poll(query); }, 28000);
   };

   function poll(query){
       if(updated==0){
          loadPage(query);
       }
   }

我正在使用 thread.wait() 请求在服务器上等待。当来自同一客户端的下一个请求可用时,是否有任何方法可以使用第一个挂起的请求。 请帮忙。

【问题讨论】:

    标签: java javascript json jquery client-server


    【解决方案1】:

    我认为 Web 套接字可能是更好的方法,因为它可以保持与服务器的连续连接打开并等待服务器将数据推送到客户端。

    http://www.html5rocks.com/en/tutorials/websockets/basics/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      相关资源
      最近更新 更多