[英]Knox S3 - NodeJS/ExpressJS Error: socket hang up
我在使用Amazon S3的NodeJS模塊時遇到以下錯誤: Knox
events.js:72
throw er; // Unhandled 'error' event
^
Error: socket hang up
at SecurePair.error (tls.js:934:23)
at CleartextStream.read [as _read] (tls.js:432:17)
at CleartextStream.Readable.read (_stream_readable.js:320:10)
at EncryptedStream.write [as _write] (tls.js:345:25)
at doWrite (_stream_writable.js:219:10)
at writeOrBuffer (_stream_writable.js:209:5)
at EncryptedStream.Writable.write (_stream_writable.js:180:11)
at write (_stream_readable.js:573:24)
at flow (_stream_readable.js:582:7)
at Socket.pipeOnReadable (_stream_readable.js:614:5)
at Socket.EventEmitter.emit (events.js:92:17)
啟用longjohn
,我可以說該錯誤來自Amazon S3的顯示圖像。
exports.image = function(req, res) {
var type = req.params.type;
var id = req.params.id;
var file = req.params.file;
var url = '/' + type + '/' + id + '/' + file;
var data = '';
knoxClient.get(url).on('response', function(s3res) {
s3res.setEncoding('binary');
s3res.on('data', function(chunk){
data += chunk;
});
s3res.on('end', function() {
res.write(data, encoding='binary');
res.end();
});
}).end();
};
如何處理錯誤,使服務器不會崩潰?
您最有可能忘記為服務器套接字的'error'
事件添加處理程序。
堆棧不包含對代碼的任何引用的原因是由於node.js的事件性質。 每當事件觸發時,都會從頭開始重新啟動堆棧。 因此,調試異步調用有點困難。
您可以在開發期間嘗試使用longjohn 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.