NS3入门学习(一)之脚本运行实例

 ns3中使用的编译系统是waf,所有的c++工程都需要经过waf编译后运行,调试时也需要waf的。

在3.1.3中还是使用C++写脚本,在/ns-3.1.3/examples/tutorial/的second.cc脚本中可以看出来,在3.2.6以上版本中已经增加了python 的API,使用python脚本。在/examples/tutorial/的second.py脚本文件,但是调用的方法没有较大改变,只是语法结构稍微改变。

 创建自己的脚本
把你的脚本放到scratch目录下,并运行waf,这样你的脚本就会被编译。在回到高层目录后复制examples/tutorial/first.ccscratch目录下
在.../ns-3.13目录下执行复制
  cp examples/tutorial/first.cc scratch/myfirst.cc
使用waf命令在.../ns-3.13(注意这里不是在examples/tutorial/下编译,而是在顶层目录)来编译脚本:
  ./waf
可以看到消息报告说myfirst范例被成功编译了。
  Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
  [614/708] cxx: scratch/myfirst.cc -> build/debug/scratch/myfirst_3.o
....
  'build' finished successfully (2.357s)
现在你能够运行这个例子(注意如果你在scratch目录编译了你的程序,你必须在scratch目录外运行它):
  ./waf --run scratch/myfirst
你应该能看到一些输出:
。。。。
  'build' finished successfully (0.418s)
  Sent 1024 bytes to 10.1.1.2
  Received 1024 bytes from 10.1.1.1
  Received 1024 bytes from 10.1.1.2
看到编译系统核查来确定文件被编译了,接着运行了它。看到在echo日志构件显示了它已经发送了1024字节到在10.1.1.2echo服务端。还可以看到回显服务器端的日志构件显示他从10.1.1.1接收到了1024字节。接下来echo服务端应答了数据包,能看到echo客户端记录了它已经接收到了从服务端发送过来的回显数据包。

你可能感兴趣的:(NS3)