Tag: econnreset

从生成的节点进程中捕获ECONNRESET错误

我正在使用sftps NPM使用用户名/密码authentication连接到SFTP服务器并上传文件。 成功的时候,这个工作很好。 但是,如果提供了无效的身份validation信息,几分钟后会发出ECONNRESET错误,导致整个应用程序崩溃。 查看sftps模块的源代码,它似乎使用child_process.spawn来运行shell命令,并且看起来应该正常捕获任何错误: var sftp = spawn(shellCmd, shellOpts); var data = ""; var error = ""; sftp.stdout.on('data', function (res) { data += res; }); sftp.stderr.on('data', function (res) { error += res; }); function finished(err) { error = error.split('\n').filter(function(line) { if (/^Connected to /.test(line)) return false; return true; }).join('\n'); data = data.split('\n').filter(function(line) { if […]

如何使用Restify增加服务器端的套接字超时?

我使用restify来实现一个node.js服务器。 基本上,服务器每HTTP POST请求运行一个耗时的过程,但不知怎的,套接字被closures,客户端收到这样的错误信息: [Error: socket hang up] code: 'ECONNRESET' 根据错误types,服务器端的套接字肯定是closures的。 有没有什么办法可以在restify的createServer方法中设置来解决这个问题? 编辑:长时间运行的过程是使用Mongoose来运行MongoDB进程。 也许这也可能是套接字挂断是由连接到MongoDB造成的? 如何增加Mongoose的超时? 我发现挂机正好在120秒内发生,所以可能是因为某些默认超时configuration? 提前致谢!

在节点上加载一个负载

我们有一个C#Web API服务器和一个Node Express服务器。 我们从C#服务器发出数百个请求到节点服务器上的路由。 节点服务器上的路由确实需要大量工作,并且通常不会返回6-8秒。 同时做出数百个这样的请求似乎会导致节点服务器失败。 节点服务器输出中的错误包括socket hang up或ECONNRESET 。 从C#方面的错误说 由于目标机器主动拒绝,所以不能build立连接。 处理不可预知数量的请求后发生此错误,这导致我认为它只是重载服务器。 在C#端使用Thread.Sleep(500)可以让我们获得更多的请求,并且在等待时摆弄或多或less的成功,但是线程hibernate很less有正确的答案,我认为这种情况是没有例外。 我们是不是把太多的压力放在Node服务器上? 这只能通过负载均衡或某种forms的集群来解决吗? 如果还有其他的select,它会是什么样子? 我开始探索的一条path是node-toobusy模块。 如果我返回503,下面的代码应该是什么过程? 我应该Thread.Sleep ,然后重新提交请求?

nodejs https api请求错误错误:在TLSWrap.onread(net.js:568:26)处的exports._errnoException(util.js:1018:11)处读取ECONNRESET

我将这个下面的ajax'POST'转换为Node,并且不能通过这个错误消息。 我已经看过像这样的其他线程如何避免NodeJS ECONNRESET错误? 但似乎并不适用。 我张贴头基本authentication,并获取一个令牌。 任何人都知道或进入这个问题之前呢? 错误消息: Error: read ECONNRESET at exports._errnoException (util.js:1018:11) at TLSWrap.onread (net.js:568:26) 下面是可用的ajax调用: function createAuth(user, pass) { var token = user + ":" + pass; var hash = btoa(token); return "Basic " + hash; } var username = "username"; var password = "password"; $.ajax({ type: "POST", url: "https://apiserviceprovider/api/login", beforeSend: function(xhr) { […]

推送通知会在Google云端函数中返回ECONNRESET

我在Firebase Cloud Functions中具有检索用户的设备组ID的function,以发送推送通知,并在发送推送通知之后进行。 如果这个函数只被调用一次,这个效果很好,但是如果我有一个用户数组,我也想发送一个推送通知,sendPushNotification函数返回错误: FAILED err= { RequestError: Error: read ECONNRESET at new RequestError (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/errors.js:14:15)每次尝试发送推送 从我所了解的ECONNRESET意味着连接在完成操作之前一端被closures了,可以有一些帮助/解释我为什么这样做: 这里是我的代码: function sendFollowNotification(snapshot) { const notificationMsg = getFollowNotificationMsg() //returns a string snapshot.forEach(function(singleUser, index) { const userId = singleUser.key; const userObject = singleUser.val(); console.log("will get device group") if (index + 1 == snapshot.numChildren()) { return getDeviceGroupNotificationKey(userId, "Discover new artists", notificationMsg, […]

摩卡supertest ECONNRESET

我正在用Mocha和SupertesttestingNodejs服务器。 testing套件已经发展到1500多个testing。 突然之间,虽然所有的testing代码仍然有效,但是我的testing套件却失败了,并报错: { [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' } 如果我注释掉一些先前运行的testing,导致错误更改的testing。 什么导致这种精神错乱?