发布于 3年前

Node.js 套接字报错处理 Error: read ECONNRESET

错误信息:

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:162:27)

出现上述情况一般是客户端关闭了socket连接导致的错误,这个错误会导致程序的异常退出

解决办法:

var pReq = http.request(options, function (pRes) {
        cSock.writeHead(pRes.statusCode, pRes.headers);
        pRes.pipe(cSock);
    }).on('connect', (res, socket, head) => {
        const { httpVersion, statusCode, statusMessage } = res;
        cSock.write(`HTTP/${httpVersion} ${statusCode} ${statusMessage}\r\n\r\n`);
        cSock.pipe(socket);
        socket.pipe(cSock);
        socket.on('error',(e)=>{
            console.log('====>',e.stack)
            socket.destroy()
        })
        cSock.on('error',(e)=>{
            console.log('====>',e.stack)
        })
        cSock.on('close',()=>{
            console.log('close===========')
            cSock.destroy()
        })
    }).on('error', function (e) {
        console.error(`请求遇到问题: ${e.message}`);
    });
©2020 edoou.com   京ICP备16001874号-3