代码之家  ›  专栏  ›  技术社区  ›  intellidiot

从浏览器超时的长轮询

  •  5
  • intellidiot  · 技术社区  · 14 年前

    我正在尝试使用node.js服务60秒的长轮询请求。我面临的问题是,浏览器超时了。相同的设置持续30秒。有人能建议如何做到这一点吗?使用jquery作为js框架。

    谢谢。。。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Xavi Arik G    14 年前

    默认情况下,node.js对于TCP/IP连接有60秒的超时。你可以通过显式 setting the timeout . 下面是一个简单的例子:

    http.createServer(function (req, res) {
        // Connection now times out after 120 seconds
        req.connection.setTimeout(120000);
        // ... TODO: server logic ...
    }).listen(8000);
    

    通过将超时设置为0,可以告诉node无限期地保持连接打开。另外,请注意,默认的60秒超时适用于除TCP/IP之外的所有套接字连接。