Nodejs服务器与两个networking接口卡进行通信

是否可以使用nodejs服务器在一个networking接口上接收消息,然后在不同的networking接口上输出HTTP请求?

scheme:我在本地networking上有一个设备,我希望服务器能够从中接收数据,并将其格式化为更新第三方Web应用程序的请求。 我已经确认我正确接收本地消息,并且已经确认HTTP请求的格式应该使用fiddler,但是在两个部分之间的某个地方我遇到问题。 我现在收到一个“套接字挂断”错误。

提前致谢

编辑:下面是我的服务器代码。 我为input和输出消息指定了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 

我已经设法解决这个问题,我只需要更改var req = http.request var req = https.request

是的,您可以通过分配的IP地址来指定接口。

对于你在listen()指定它的服务器,像这样:

 server.listen(8000, '192.168.100.14'); 

对于传出的HTTP请求,您可以像这样将其指定为localAddress

 http.request({ localAddress: '192.168.5.27', // ... }, ...);