gpt4 book ai didi

node.js - Nodejs服务器与两个网卡进行通信

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:38 26 4
gpt4 key购买 nike

Nodejs 服务器是否可以在一个网络接口(interface)上接收消息,然后在不同的网络接口(interface)上输出 HTTP 请求?

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

提前致谢

编辑:下面是我的服务器代码。我已为传入和传出消息指定了 IP 地址,但仍然收到套接字挂起错误。任何人都可以发现其他可能导致此问题的原因吗?
我想知道是否需要采取不同的措施来实现安全连接? (这是一个 https 网址)

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

关于node.js - Nodejs服务器与两个网卡进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25569933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com