node.js错误:读取ECONNRESET
node.js Error: read ECONNRESET
我正在运行一个Express 4应用程序,我在路由器中添加了一些逻辑:
router.get('/pars', function(req, res, next) {
fetcher.parseXml(function(err, result){ //download files from ftp server, it can takes from 10 sec to 1 minute
if(err) {
console.log("router " + err);
res.render('index', { title: err });
}else {
console.log(result);
res.render('index', { title: 'Download finish' });
}
});
});
并添加了相应的按钮来启动索引页,将ajax发送到'/pars'端点:
...
<button id="btn">Parse Data</button>
<script>
$( document ).ready(function() {
$('#btn').click(function () {
$.get(
"/pars",
onAjaxSuccess
);
});
function onAjaxSuccess(data) {
alert(data);
};
});
</script>
所以一切工作正常,我成功地重新加载页面和下载文件从ftp使用'jsftp'模块,但过了一段时间(它可能是30秒或2分钟),我得到了错误,崩溃我所有的应用程序:
events.js:85
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:746:11)
at TCP.onread (net.js:559:26)
我在Node js中发现了类似的问题ECONNRESET
并将此'catch '代码添加到我的app.js中:
process.on('uncaughtException', function (err) {
console.error(err.stack);
console.log("Node NOT Exiting...");
});
现在的应用程序不会崩溃,但垃圾邮件错误从我的日志中不时,所有的逻辑工作正常
我认为问题可以在ftp.get:
Ftp.get(config.get("ftpDownloader:dir") + '/'+ fileName, __dirname + '/xml/' + fileName, function(hadErr) {
if (hadErr){
log.error('There was an error retrieving the file.' + hadErr);
ftpDonwloadCallback(hadErr);
}else{
log.info("XML WAS DOWNLOADED: " + fileName);
readFile(fileName, ftpDonwloadCallback);
}
});
也许有人能帮我解决这个问题? 取决于错误信息:
events.js:85
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:746:11)
at TCP.onread (net.js:559:26)
是由TCP连接引起的。如果底层套接字接收到'error'事件,但没有'error'事件监听器,它将传播并使进程崩溃。
检查你的HTTP服务器,添加错误事件监听器。
例如:
var server = http.createServer(function(request, response){ ... ... });
server.on('error', function(err) { ... ... });
如果你想从客户端捕获错误,你可以监听'clientError'事件。 相关文章:
- 从桌面读取python文件时高亮显示代码
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- 未捕获的类型错误:无法读取属性'删除'的未定义
- AngularJS指令出错-无法读取属性'编译'的未定义
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 如何在Javascript中读取unsigned int
- 如何读取表单中的输入数据
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- 得到"读取ECONNRESET”;尝试POST到'graphic.facebook.com'通
- 当amqp重新启动时,读取ECONNRESET
- 错误:使用mode.js的请求模块读取ECONNRESET
- node.js错误:读取ECONNRESET