nodejs服务器是否可以让它在一个网络接口上接收消息,然后在不同的网络接口上输出HTTP请求?Nodejs服务器与两个网络接口卡进行通信
该场景: 我在本地网络上有一个设备,我希望服务器能够接收来自该设备的数据并将其格式化为更新第三方Web应用程序的请求。 我已确认我正确接收本地消息,并且已确认HTTP请求的格式应该使用提琴手,但在两个部分之间存在问题。 我现在收到“套接字挂断”错误。
在此先感谢
编辑: 下面是我的服务器代码。我为输入和输出消息指定了IP地址,但我仍然遇到套接字挂起错误。任何人都可以找到可能导致此问题的其他事情吗?
我想知道如果我需要为安全连接做不同的事情吗? (它是一个https URL)
var url = require("url");
var http = require('http');
http.createServer(function (request,response) {
var theUrl = url.parse(request.url);
console.log(theUrl);
var timeline = { // Data to be sent to external web service
channel: "#test",
username: "Slash",
icon_emoji: ":smirk_cat:",
text: "Timeline Started: " + theUrl.path
};
var data = JSON.stringify(timeline)
var options = {
host: "example.com",
path: "/path/to/web/service",
localAddress: '172.20.1.53', // IP address of outgoing NIC
method: 'POST',
port: "443",
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(data),
}
};
var req = http.request(options, function(res){
res.on('data', function(resp) {
console.log(resp)
});
});
req.on('error', function(err) {
console.log("ERROR: " + err.message);
});
req.write(data);
console.log(req);
req.end();
}).listen(801, '172.30.2.92'); // IP address of incoming NIC
传出接口由操作系统的IP网络层路由规则选择。不过这听起来像是你的问题与路由无关,而是与web服务器或配置中的其他问题有关。 (你可以使用curl来调试服务器机器上的请求吗?) – 2014-08-29 14:58:21