寻个算法,请大家给出出主意

时间:2022-05-14 22:39:07
问题描述:用无线的方式从一台主机下发广播搜索指令,从机(1000+)进行响应,要求响应过的从机不再二次应答,有什么好办法吗?
目前的做法是,从机的响应报文中除了MAC地址,再加两字节的密匙(按MAC加密),主机下发搜索指令时带上这个密匙,从机解析到报文里密匙队列中有自己就不再应答;可是这样做一帧搜索报文加不了几个密匙,大家给出出主意?哈希算法能用上不?

6 个解决方案

#1


从机应答完就存个flag,只要检测到有flag就不应答不行吗?

#2


主机和从机本地都保存一个每次自增1的数……?

#3


引用 1 楼 xsklld 的回复:
从机应答完就存个flag,只要检测到有flag就不应答不行吗?

那从机存的flag什么时候复位呢

#4


引用 2 楼 zhao4zhong1 的回复:
主机和从机本地都保存一个每次自增1的数……?

若是有另一个主机存在呢,从机岂不是要记录不同主机的标识

#5


建议楼主选用一种现场总线的通讯协议,协议中一般都有这些通讯情况的处理,这样处理会简单一些。

#6


引用 3 楼 celerylxq 的回复:
Quote: 引用 1 楼 xsklld 的回复:

从机应答完就存个flag,只要检测到有flag就不应答不行吗?

那从机存的flag什么时候复位呢

搜索指令里添加一个num,相同的num代表相同的指令。从机应答完就存个num+flag,每次应答前先检测num+flag存不存在。这样呢?

#1


从机应答完就存个flag,只要检测到有flag就不应答不行吗?

#2


主机和从机本地都保存一个每次自增1的数……?

#3


引用 1 楼 xsklld 的回复:
从机应答完就存个flag,只要检测到有flag就不应答不行吗?

那从机存的flag什么时候复位呢

#4


引用 2 楼 zhao4zhong1 的回复:
主机和从机本地都保存一个每次自增1的数……?

若是有另一个主机存在呢,从机岂不是要记录不同主机的标识

#5


建议楼主选用一种现场总线的通讯协议,协议中一般都有这些通讯情况的处理,这样处理会简单一些。

#6


引用 3 楼 celerylxq 的回复:
Quote: 引用 1 楼 xsklld 的回复:

从机应答完就存个flag,只要检测到有flag就不应答不行吗?

那从机存的flag什么时候复位呢

搜索指令里添加一个num,相同的num代表相同的指令。从机应答完就存个num+flag,每次应答前先检测num+flag存不存在。这样呢?