2 joy460154849 joy460154849 于 2017.09.11 15:14 提问

Error: socket hang up如何解决

server:

const http = require("http");
const qs = require("querystring")

http.createServer(function(request,response){
var body ="";
request.on("data",function(chunk){
body+=chunk;
})
request.on("end",function(){
response.writeHead(200,{"ContentType":"text/html;charset=utf-8"});
process.stdout.write("got name :"+ qs.parse(body)["name"]+"\n")
})

}).listen(3000);

client:
var http = require("http");
var qs = require("querystring")

function getname(theName){
var b = {name:theName};
console.log(b)
var a=qs.stringify(b)
console.log(typeof theName)
console.log("theName:"+theName+" ,b转换为string后的a:"+a);
var options = {
hostname: '127.0.0.1',
port: 3000,
path: '/',
method: 'POST',
headers: {
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length': a.length
}
};
http.request(options,function(response){
response.setEncoding('utf8');
var body ="";
response.on('data', function(chunk){
body+=chunk;
});
response.on('end',function (){
process.stdout.write("client compate!\n");
})
}).end(a);
}

process.stdin.on("data",function(inputData){
process.stdout.write("your name:"+inputData);
console.log("输入内容: "+inputData+" 转换为string后:"+inputData.toString().replace("\n",""))
getname(inputData.toString().replace("\n",""));

})

问题是:程序执行过4分钟左右报错,报错内容如下:
events.js:141
throw er; // Unhandled 'error' event
^

Error: socket hang up
at createHangUpError (_http_client.js:213:15)
at Socket.socketOnEnd (_http_client.js:305:23)
at emitNone (events.js:72:20)
at Socket.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:923:12)
at nextTickCallbackWith2Args (node.js:458:9)
at process._tickCallback (node.js:372:17)

Process finished with exit code 1

1个回答

weixin_40201146
weixin_40201146   2017.09.12 01:08

可能Server端 需要一个Bind 保持住新连线

Csdn user default icon
上传中...
上传图片
插入图片