我在 ubuntu 服务器上运行 Node Red,并且我已将其中一个网络适配器配置为具有多个 IP 地址,如下所示:
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: no
addresses:
- 192.168.25.9/24
- 192.168.25.23/24
- 192.168.25.43/24
- 192.168.25.45/24
- 192.168.25.67/24
version: 2
我的想法是想用node red来模拟几个控制器,不同的IP地址对应控制器的IP地址。
在红色节点中,我使用 UDP 输出节点发送数据包并响应心跳通信,但我还没有找到一种方法来专门从 IP
192.168.25.43
等发送数据包。
我读过一些关于使用 bind
调用来指定源地址的内容,但我还没有弄清楚它是如何工作的。
我找到了this帖子,但我不明白,如果我尝试编码,我会收到此错误:
TypeError: Cannot read properties of undefined (reading 'createSocket')
UDP节点不允许设置源IP地址。
只能设置 3 个值:目标 IP 地址、端口和源端口。
链接到的讨论帖子是使用函数节点发送UDP数据包,它首先通过编辑
dgram
文件将settings.js
类绑定到全局上下文,然后允许调用
bind()
方法 这将允许设置源IP地址(尽管代码仅显示设置源端口,而不是IP地址)