Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在NS3中的运行时更改PointPoint链路数据速率_C++_Ns 3_Point To Point - Fatal编程技术网

C++ 如何在NS3中的运行时更改PointPoint链路数据速率

C++ 如何在NS3中的运行时更改PointPoint链路数据速率,c++,ns-3,point-to-point,C++,Ns 3,Point To Point,我是NS3的新手。我有一个在运行时更改pointtopoint链接数据速率的查询。我尝试了一个在中提到的解决方案。但是在这里SetDeviceAttribute并没有为我解决 void ModifyLinkRate(PointToPointNetDevice *dev) { dev->SetDeviceAttribute("DataRate", StringValue ("1Mbps")); //dev->SetAttribute(

我是NS3的新手。我有一个在运行时更改pointtopoint链接数据速率的查询。我尝试了一个在中提到的解决方案。但是在这里SetDeviceAttribute并没有为我解决

void
ModifyLinkRate(PointToPointNetDevice *dev) {
   dev->SetDeviceAttribute("DataRate", StringValue ("1Mbps"));
   //dev->SetAttribute("DataRate", StringValue ("1Mbps"));
}
int
main (int argc, char *argv[])
{
...
   PointToPointHelper pointToPoint;
   pointToPoint.SetDeviceAttribute ("DataRate", StringValue (linkRate));
...
   Simulator::Schedule(Seconds(2.0), &ModifyLinkRate, &pointToPoint );
}

为了更改pointTopoint链接的数据速率,必须检索节点中安装的PointToPointNetDevice。这可以使用节点关联的NetDeviceContainer完成。下面是示例代码

void
ModifyLinkRate(NetDeviceContainer *ptp, DataRate lr) {
    StaticCast<PointToPointNetDevice>(ptp->Get(0))->SetDataRate(lr);
}
int
main (int argc, char *argv[])
{
...
   PointToPointHelper pointToPoint;
   pointToPoint.SetDeviceAttribute ("DataRate", StringValue (linkRate));
...
   NetDeviceContainer p2pDevices = pointToPoint.Install (p2pNodes);
...
    Simulator::Schedule(Seconds(2.0), &ModifyLinkRate, &p2pDevices,DataRate("20Mbps"));
}
void
修改链接速率(NetDeviceContainer*ptp,数据速率lr){
StaticCast(ptp->Get(0))->SetDataRate(lr);
}
int
main(int argc,char*argv[])
{
...
点拓扑在lper pointToPoint中;
pointToPoint.SetDeviceAttribute(“数据速率”,StringValue(链接速率));
...
NetDeviceContainer p2pDevices=pointToPoint.Install(p2pNodes);
...
模拟器:调度(秒(2.0)、修改链接速率和P2P设备、数据速率(“20Mbps”);
}