Node.js response.write缓冲区限制

我使用nodeJS和一些额外的模块来从一组网站做网页抓取和媒体项目识别。

节点服务器基本上抛出了页面上标识的所有项目及其相关元数据的JSON标记。 JSON数据生成正确,因为我可以在服务器日志中看到它,但是当我将它写入到客户端时,出于某种原因JSON响应被终止。

我testing了所有的浏览器,并使用其余的客户端,这似乎是指向一个问题与response.write(响应,'utf-8')可能不会发送整个数据或连接因为某种原因closures。

我证实了我的testing用例没有涉及到分块,所以如果客户端仍然在等待下一个数据块,那么这个连接就不会被客户端严重closures。 即在这种情况下,response.write返回true,这意味着所有的数据都被写入客户端。

任何指针可能导致连接被终止或响应被截断? 对于较小尺寸的JSON响应,客户端会正确接收响应。

Code: return parseDOM(page, url, function(err, response){ if(err){ res.writeHeader(200, {'Content-Type':'application/json'}); res.end('Error Parsing DOM from ' + url); e.message = 'Error Parsing DOM'; callback(e, req, res, targetUrl); return; } else { if(response){ res.writeHeader(200, {'Content-Type':'application/json', 'Content-Length':response.length}); console.log(response); res.write(response, 'UTF-8'); res.end(); callback(null, req, res, targetUrl); return; } } }); 

抱歉。 我的错。 我看到内容长度是错误的。 通过问题确定解决scheme: Node.js在通过HTTPS提供服务时切断文件