-
在IEEE 802.11 AP中
没有
发送关于相关站点数量的信息。因此,为了广播这些信息,您必须在IEEE 802.11协议中引入自己的修改/扩展,例如信标帧中的新字段。
-
在INET模型中,AP在
staList
地图要在本地计算相关站点的当前数量,可以使用以下代码:
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
-
在里面
Iee80211串行器cc
在里面
deserialize
添加新字段的反序列化,在
case 0x80: //ST_BEACON
例如:
unsigned int numSta = b.readByte();
请注意,添加新文件的位置(第二个项目符号)必须与读取文件的位置完全匹配(第三个)。