in diesem Beispiel ns-3 (first.cc) Ich habe einige Codezeilen aus anderem Beispiel für udp-Verbindung eingegeben (zwischen Schrägstrichen kopiert), um den Durchsatz einer udp-Verbindung zu berechnen die neu hinzugefügten Variablen geprüft und definiert, und ich diesen Fehler nach dem laufen bekommen:Deklarationsfehler beim Erhalten von Udp-Durchsatz in ns-3
'serverApp' wurde nicht in diesem Bereich erklärt uint32_t totalPacketsThrough = DynamicCast (serverApp.Get (1)) -> GetReceived();
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"
using namespace ns3;
NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");
int
main (int argc, char *argv[])
{
Time::SetResolution (Time::NS);
LogComponentEnable ("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable ("UdpEchoServerApplication", LOG_LEVEL_INFO);
NodeContainer nodes;
nodes.Create (2);
PointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("1000Mbps"));
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);
InternetStackHelper stack;
stack.Install (nodes);
Ipv4AddressHelper address;
address.SetBase ("10.1.1.0", "255.255.255.0");
Ipv4InterfaceContainer interfaces = address.Assign (devices);
UdpEchoServerHelper echoServer (9);
ApplicationContainer serverApps = echoServer.Install (nodes.Get (1));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));
UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9);
echoClient.SetAttribute ("MaxPackets", UintegerValue (1));
echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.0)));
echoClient.SetAttribute ("PacketSize", UintegerValue (1024));
ApplicationContainer clientApps = echoClient.Install (nodes.Get (0));
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));
//////////////////////////////////////////////////////////////////////////
uint32_t payloadSize = 1472; //1500 byte IP packet
double simulationTime = 10; //seconds
double throughput = 0;
uint32_t totalPacketsThrough = DynamicCast<UdpServer> (serverApp.Get (1))->GetReceived();
throughput = totalPacketsThrough * payloadSize * 8/(simulationTime * 1000000.0); //Mbit/s
std::cout << " *throughput = " << throughput ;
/////////////////////////////////////////////////////////////////////
Simulator::Run();
Simulator::Destroy();
return 0;
}
lol ... das war richtig, aber jetzt bekomme ich keine Ergebnisse, aber das: –
Waf: Verzeichnis eingeben '/home/hamid/workspace/ns-allinone-3.25/ns-3.25/build ' Waf: Verlassen des Verzeichnisses '/home/hamid/workspace/ns-allinone-3.25/ns-3.25/build ' Build-Befehle werden in build/compile_commands.json gespeichert ' Build 'erfolgreich abgeschlossen (1.496s) Command ['/home /hamid/workspace/ns-allinone-3.25/ns-3.25/build/scratch/first '] mit dem Signal SIGSEGV beendet. Führen Sie es unter einem Debugger aus, um weitere Informationen zu erhalten (./waf --run --command-template = "gdb --args% s "). –
plz akzeptieren die Antworten und erstellen Sie eine neue SO – baddger964