我是节点新手,所以请耐心等待。我正在尝试编写一个函数来测试,以确保在重定向页面之前存在与Web服务器的实时连接。
这适用于前6到7次点击,然后页面将不再重定向 - 它只是坐在那里。几分钟后,将显示警报。
发生什么事了?!
var http = require("http");
var url = 'http://example.com/';
mainMenu.click(function () {
var menulink = $(this).attr('rel');
var menuvar = http.get(url, function () {
window.location = menulink;
}).on('error', function () {
alert('Cannot Connect to Server');
});
});
答案 0 :(得分:0)
我怀疑您遇到non-flowing streams的问题。
由于您从不使用响应数据,因此连接永远不会关闭。 HTTP Agent限制并发连接的数量,并在一段时间后拒绝打开任何新连接。
您应该尝试手动将响应切换为流动模式:
mainMenu.click(function () {
var menulink = $(this).attr('rel');
var menuvar = http.get(url, function (res) {
// FORCE FLOWING MODE
res.resume();
window.location = menulink;
}).on('error', function () {
alert('Cannot Connect to Server');
});
});