官方文档:MyApp

可以在下面的几个例子找到:

examples/tutorial/fifth.cc

examples/tutorial/seventh.cc

examples/tutorial/sixth.cc

SetUp函数


class MyApp : public Application
{
public:MyApp ();virtual ~MyApp();void Setup (Ptr<Socket> socket, Address address, uint32_t packetSize, uint32_t nPackets, DataRate dataRate);private:virtual void StartApplication (void);virtual void StopApplication (void);void ScheduleTx (void);void SendPacket (void);Ptr<Socket>     m_socket;Address         m_peer;uint32_t        m_packetSize;uint32_t        m_nPackets;DataRate        m_dataRate;EventId         m_sendEvent;bool            m_running;uint32_t        m_packetsSent;
};MyApp::MyApp (): m_socket (0),m_peer (),m_packetSize (0),m_nPackets (0),m_dataRate (0),m_sendEvent (),m_running (false),m_packetsSent (0)
{
}MyApp::~MyApp()
{m_socket = 0;
}void
MyApp::Setup (Ptr<Socket> socket, Address address, uint32_t packetSize, uint32_t nPackets, DataRate dataRate)
{m_socket = socket;m_peer = address;m_packetSize = packetSize;m_nPackets = nPackets;m_dataRate = dataRate;
}void
MyApp::StartApplication (void)
{m_running = true;m_packetsSent = 0;m_socket->Bind ();m_socket->Connect (m_peer);SendPacket ();
}void
MyApp::StopApplication (void)
{m_running = false;if (m_sendEvent.IsRunning ()){Simulator::Cancel (m_sendEvent);}if (m_socket){m_socket->Close ();}
}void
MyApp::SendPacket (void)
{Ptr<Packet> packet = Create<Packet> (m_packetSize);m_socket->Send (packet);if (++m_packetsSent < m_nPackets){ScheduleTx ();}
}void
MyApp::ScheduleTx (void)
{if (m_running){Time tNext (Seconds (m_packetSize * 8 / static_cast<double> (m_dataRate.GetBitRate ())));m_sendEvent = Simulator::Schedule (tNext, &MyApp::SendPacket, this);}
}static void
CwndChange (uint32_t oldCwnd, uint32_t newCwnd)
{NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << "\t" << newCwnd);
}static void
RxDrop (Ptr<const Packet> p)
{NS_LOG_UNCOND ("RxDrop at " << Simulator::Now ().GetSeconds ());
}

NS3 MyApp Class Reference相关推荐

  1. WPF笔记(1.1 WPF基础)——Hello,WPF!

    WPF笔记(1.1 WPF基础)--Hello,WPF! 原文:WPF笔记(1.1 WPF基础)--Hello,WPF! Example 1-1. Minimal C# WPF application ...

  2. ValueError: The field admin.LogEntry.user was declared with a lazy reference to ‘MyApp.sysusers‘

    问题描述 E:\SweetYaya\MyProj03>python manage.py migrate Operations to perform:Apply all migrations: M ...

  3. Kubernetes:应用部署、应用了解、应用公布、应用伸缩,-image=ikubernetes/myapp:v1

    k8s基础命令:https://kubernetes.io/zh/docs/reference/kubectl/kubectl-cmds/ k8s基础知识:https://kubernetes.io/ ...

  4. NS3 Tutorial 中文版:第三章 快速上手

    [声明]允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. http://yangfei1.blog.51cto.com/1471532/368586 ht ...

  5. spring boot 2.5.5 reference chapter 5 生词

    5 Upgrading Spring Boot check the "migration guide" on the project wiki that provides deta ...

  6. Spring Boot 3.0.0-M1 Reference Documentation(Spring Boot中文参考文档)-附录A-C

    附录 附录A:常用的应用程序属性 多种属性可以指定到application.properties文件,application.yml文件内,或者作为命令行开关.这个附录提供常用的Spring Boot ...

  7. implement tcp bbr on ns3 (在ns3上实现TCP BBR)

     After several days of work and debug, I implement TCP BBR algorithms on ns3.33.  One thing is to ge ...

  8. ns3—— sixth.cc 大概理解

    sixth.cc 总的来说就是下面这么个结构,目的:node0 要向 node1 发送TCP消息. node 0 node 1 +----------------+ +---------------- ...

  9. NS3 sixth.cc注释

    文章目录 前言 一.sixth.cc 二.运行结果 总结 前言 NS3 sixth.cc注释 最近在学NS3,tutorial的1-4代码注释都有很多帖子,但是5.6缺很少.所以贴一下查找后的代码及注 ...

最新文章

  1. UVa 10820 (打表、欧拉函数) Send a Table
  2. 网络攻防-20169213-刘晶-第六周作业
  3. python读音发音器-python3 - 文本读音器
  4. [Win32::Console]Perl终端版生命游戏
  5. typedef 用法总结
  6. 并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?
  7. 汤家凤高等数学基础手写笔记-空间解析几何
  8. GMQ发行稳定币将进一步打破稳定币市场垄断格局
  9. 锐起无盘服务器安装教程,锐起无盘安装方法 图文教程
  10. ECSHOP批量添加商品到购物车
  11. ffmpeg 转换flv压缩大小_ffmpeg转换参数和压缩输出大小的比率 参考 最新版本FFMPEG...
  12. 基于java ssm springboot选课推荐交流平台系统设计和实现
  13. 同频切换的事件_LTE前台路测切换问题处理大礼包
  14. 将Unix时间戳字符串转换为可读日期
  15. JSK-383 是否闰年(课后)【入门】
  16. zedboard linux内核下载,zedboard学习-为Linux内核打补丁
  17. C++统计博客园写过的代码行数
  18. 关于垂直列行值转成水平行值及多列值转合并成单列值
  19. interlib系统服务器,Interlib图书馆集群管理系统.docx
  20. java 获取 国家_Java中Locale.getDefault()方法获取本地国家代码

热门文章

  1. MYSQL 主从复制读写分离实现
  2. 为网站添加”网页加载中”特效
  3. Makingware调用静态块,实现自定义html内容的常用方法(不需要修改模版部分)...
  4. Android 创世纪 第三天
  5. Linux 内核漏洞暴露栈内存,造成数据泄露
  6. Win10发布微码,修复Intel CPU内核数据泄漏新漏洞 (含视频)
  7. 请君入瓮:研究员找到 Emotet 的bug,并成功阻止传播
  8. Flutter InkWell 动画浅析
  9. 新手必看,老鸟绕道–LAMP简易安装
  10. android --多线程下载