Node.js 错误:套接字挂起
当我运行以下代码时,我得到Node.js 错误:套接字挂起,node.js,Node.js,当我运行以下代码时,我得到 var fs = require('fs'); var http = require('http'); var qs = require('querystring'); var util = require("util"); 代码 我的代码有什么问题?首先,post\u data.length不存在,因为post\u data不是字符串 因此,改变这一点: var sendresult = function (result) { console.log(re
var fs = require('fs');
var http = require('http');
var qs = require('querystring');
var util = require("util");
代码
我的代码有什么问题?首先,
post\u data.length
不存在,因为post\u data
不是字符串
因此,改变这一点:
var sendresult = function (result) {
console.log(result)
var post_data ={"result": result};
console.log(JSON.stringify(post_data))
var options = {
host: '172.16.2.107',
path: '/senddata',
port: '9080',
method: 'POST',
headers : {
'Content-Type': 'application/json',
'Content-Length': post_data.length
}
};
console.log("INSIDE-------------------------------------------------------")
var post_req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
});
req.on('error', function (err) {
//handle error here
});
});
// post the data
post_req.write(post_data.toString());
post_req.end();
}
sendresult("dataaaaaaaaa")
为此:
var post_data ={"result": result};
而且你应该真正使用缓冲区。通过tellength(post_data)
而不是post_data。如果post_data
应该包含utf8字符或类似字符,那么内容长度应为Buffer.byteLength()
始终计算字节计数,而string.length
返回的字符计数可能并不总是与字节计数相同
var post_data ={"result": result};
var post_data = JSON.stringify({"result": result});