嗨,我是 NS3 的新手,我正在尝试修改 first.cc 以执行 TCP 而不是 UDP。我没有收到任何错误,但也没有发生数据交换。任何人都可以帮助我吗?〜〜非常感谢〜〜这是代码:主要是:
NS_LOG_INFO ("Creating Topology");
Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (137));
Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue ("14kb/s"));
NodeContainer nodes;
nodes.Create (2);
//
PointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("100Mbps"));
pointToPoint.SetChannelAttribute ("Delay", StringValue ("20ms"));
//
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);
InternetStackHelper stack;
stack.Install (nodes);
Ipv4AddressHelper address;
address.SetBase ("109.11.12.0", "255.255.255.0");//address setting
Ipv4InterfaceContainer interfaces = address.Assign (devices);
OnOffHelper onOffHelper ("ns3::TcpSocketFactory", Address
(InetSocketAddress (Ipv4Address ("255.255.255.0"), 10)));
onOffHelper.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]"));
onOffHelper.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]"));
onOffHelper.SetAttribute ("DataRate",StringValue ("2Mbps"));
onOffHelper.SetAttribute ("PacketSize",UintegerValue(2000));
ApplicationContainer app = onOffHelper.Install (nodes.Get (0));
// Start the application
app.Start (Seconds (10.0));
app.Stop (Seconds (100.0));
// Create an optional packet sink to receive packets
PacketSinkHelper sink ("ns3::TcpSocketFactory",Address
(InetSocketAddress (Ipv4Address::GetAny (), 10)));
app = sink.Install (nodes.Get(1));
app.Start (Seconds (1.0));
app.Stop (Seconds (100.0));
pointToPoint.EnablePcapAll ("testtcp");