node.js - NodeJS UDP 一台服务器多客户端和端口,有助于理解端口行为
问题描述
如果您正在阅读本文,请提前感谢您的帮助。
我有一个我写的代码,它正在工作。至少它完美地完成了我所需要的。但我认为它可能会对我的 WIFI 网络产生一些副作用。NODEJS 中的脚本会定期向通过 wifi 连接的不同设备发送 udp 数据包。设备从不响应该数据包,但我故意让“服务器”脚本向设备发送更新的信息并“忘记”它发送的内容。我有一个数据包发送计划,例如,每 100 毫秒。但我需要让东西尽可能轻。我的内容是 29 字节长。我的设备编号可能会有所不同。代码类似于这样的伪代码:
const client = dgram.createSocket('udp4');
for (z=1 , z== numberOfDevices, z++){
if (sendFlag === 1) {
client.send(NONE, 21324, myArgs[z], (err) => {});
}
}
甚至跳过了错误捕获,因为这对我来说并不重要。我希望它“盲目地”工作。我只创建一次“客户端”,从不调用“client.close();” 因为如果我这样做,每个数据包都会生成一个新的输出端口,我猜它对路由器和运行节点脚本的机器都没有好处。
如果我不调用 client.close(),就像现在一样,输出端口始终保持不变。但即使目标 IP 地址发生变化,它也将保持不变。比如:端口 50100 到 IP1 端口 50100 到 IP2 端口 50100 到 IP3 等等......如果我运行脚本很长一段时间,我不知道这是否会对路由器产生任何影响,比如 10 小时wifi连接变得非常慢。即使在我停止服务器之后。如果路由器重新启动并且我运行脚本,一切都非常好而且很快。
我想让这样的事情发生:端口 50101 到 IP1 端口 50101 到 IP2 端口 50103 到 IP3 等等......脚本运行的所有时间。这似乎 server.bind 可以帮助我,比如为每个 ip 绑定一个端口,但我不擅长编码,我根本无法让它像那样工作。如果有人可以帮助我,我将无法感谢你!Nodejs 脚本示例非常基于客户端-> 两个设备之间的服务器通信,在这种情况下,我需要一对多,但我找不到可以从中学习的体面资源。
附带的问题是,发送到多个客户端的相同源端口是否会对网络产生影响。谢谢!
解决方案
推荐阅读
- makefile - 使用标志 $(@:.o=.d) 后生成文件依赖错误
- java - Apache Camel 调度到本地 JaxRs 资源实现
- javascript - 如何编写异步函数以在 javascript 中查找字符串枚举?
- java - 我在从 Json 输出中获取数据时遇到问题
- python - 根据熊猫规则改变数量的Pythonic方式?
- reactjs - 数组不使用 useState 钩子和 for 循环更新
- c++ - 用于 。/ 在 C++ 中 - 运算符还是浮点数?
- swift - Swift - 实例化一个类 - 带括号和不带括号的区别
- jquery - 如何使用 jQuery 更新 div 中的 HTML 元素
- r - ggplot 重新排序在填充选项中指定的变量