- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 INET 并想模拟一个由三个接入点 (AP) 和一个移动节点 (MN) 组成的场景,可能每个 AP 在其范围内都有其他关联的 MN,我想要的是:而 MN (在我的场景中)四处移动并从 AP 获取信标,在与 AP 关联之前,我能否获得与每个 AP 关联的其他 MN 的数量?我探索了许多源代码,我在 ieee80211MgmtAP 中找到了 MACaddressTable 和类似 stalist 的东西,它们对我有用吗?并将它们用作关联 MN 的总数,那么我如何评估stalist的长度?还是 MAC 地址表?
否则我必须在 AP 端放置一个计数器来计数并通过信标帧发送它吗?如果是这样,请给我一些指南或捷径问候....
最佳答案
在 INET 模型中,AP 将自己的站点存储在 staList
中 map 。要在本地计算当前关联站的数量,您可以使用以下代码:
STAList::const_iterator it;
int assocSta = 0;
for (it = staList.begin(); it != staList.end(); ++it) {
if (it->second.status == ASSOCIATED)
assocSta++;
}
如果你想修改标准信标帧,首先,你必须假设你想在信标帧中添加一个新字段的确切位置,例如在现有字段之后,以及该字段应具有的大小。然后:
int noOfAssociatedStas;
中添加一个新字段(例如 Ieee80211BeaconFrameBody
)在文件中 Ieee80211MgmtFrames.msg
并在 Ieee80211BeaconFrame
中正确长度定义在 Ieee80211Serializer.cc
在 else if (dynamic_cast<const Ieee80211BeaconFrame *>(pkt))
之后添加新字段的序列化,例如:
unsigned int numSta = Frame->getBody().getNoOfAssociatedStas();
b.writeByte(numSta); // assuming that the new field is 1 byte length
在 Ieee80211Serializer.cc
在 deserialize
在 case 0x80: //ST_BEACON
之后添加新字段的反序列化例如:
unsigned int numSta = b.readByte();
请注意,添加新字段的位置(第二个项目符号)必须与读取它的位置(第三个项目符号)完全匹配。
关于c++ - 有没有办法让关联的 MN 到达接入点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298968/
我是一名优秀的程序员,十分优秀!