NS3网络仿真(1):开发环境搭建

快乐虾

http://blog.csdn.net/lights_joy/

欢迎转载,但请保留作者信息


1.1    安装基本模块


1.1.1  安装Python


出于对兼容性的考虑,在此选择python-2.7.9win32版本,而不是最新的3.x版本。


安装目录为c:\python27


这个就没什么可说的了。


1.1.2  安装PTVS


PTVSms提供的一个python插件,我用的是2.2,安装完成后可以在VS2013的扩展与更新中看到它:

NS3网络仿真(1):开发环境搭建_第1张图片


 


1.1.3  添加对python-2.7.9的支持


接下来需要让PTVS能够使用我们安装的python-2.7.9,打开VS2013的参数配置,加上python-2.7.9的支持:

NS3网络仿真(1):开发环境搭建_第2张图片


 


1.2    vs2013下编译NS3


NS3的官方版本并不支持VS2013的编译器,仅仅给出了一个古老的在vs2010下编译的链接,而且很久没有更新了,并不支持最新的ns3.23。不过这个难不住我们,只需要在vs2013下创建DLL工程并加上相应目录下的源文件,中间除了有些简单的C++语法不太一致需要少量修改外,几乎没费多少力气就得到了我们想要的工程:

NS3网络仿真(1):开发环境搭建_第3张图片


NS3中,每一个DLL都对应地有一个_py的工程,用于将此DLL中的类导出到python中,这里需要注意的是这个_py工程中的C++代码是动态生成的,而不是一开始就有的,可以使用类似于:


python bindings\python\ns3modulegen-modular.pysrc\point-to-point gcc_ILP32 ns.point_to_pointsrc\point-to-point\bindings\module.cc


这样的命令生成。


而后再把生成的module.cc加入到相应的工程里面就可了。


1.3    编译NetAnim


NetAnim的编译就比较简单了,只不过需要事先安装Qt-4.8.6,然后直接用qmake编译NetAnim提供的pro文件就可以了。

NS3网络仿真(1):开发环境搭建_第4张图片


1.4    vs2013下使用ns


编译好的NetAnimNS3Python扩展可以在CSDNhttp://download.csdn.net/detail/lights_joy/8878009下载,使用时直接将压缩包里的ns目录复制到c:\python27\lib\site-packages\目录下就可以了(关于PTVS的更详尽说明请参考之前的文章)。最后更新一下PTVSIntelliSense,而后就可以创建Python工程使用了。


NS3的源码包中提供了一个叫first.py的示例代码,就拿它来测试一把。


直接创建一个python项目并加入first.py,并设置为启动脚本。


看看编辑的功能:

NS3网络仿真(1):开发环境搭建_第5张图片


再试试调试:

NS3网络仿真(1):开发环境搭建_第6张图片


呵呵,VS还是很强大的!


直接运行,平平无奇,也没有什么输出。


在仿真开始前加上Animation的代码:


anim= ns.netanim.AnimationInterface('first.xml')


ns.core.Simulator.Run()


ns.core.Simulator.Destroy()


再运行这个脚本,可以发现在工程目录下生成了我们想要的first.xml文件,接着NetAnim上场,直接打开这个生成的first.xml

NS3网络仿真(1):开发环境搭建_第7张图片


由于first.py这个脚本里面没有对节点的属性做任何配置,因此显示出来的结果就有那么点奇怪了,不过这至少说明我们的开发环境配置基本没有什么问题了!












你可能感兴趣的:(通信仿真)