《NS与网络模拟》第五章node示例
![](http://xgucs.blog.51cto.com/editor/icons/etc_12.gif)
set node [$ns node] ;#新建一个节点并赋值给node。
set udp0 [new Agent/UDP] ; #新建一个UDP Agent并赋值给udp0。
set udp1 [new Agent/UDP] ;#新建一个UDP Agent并赋值给udp1。
set null [new Agent/Null] ;#新建一个UDP Agent并赋值给null。
$ns attach-agent $node $udp0 ;##将UDP Agent udp0绑定到node上。
puts "===============输出各对象的值================"
puts "ns的值:$ns"
puts "node的值:$node"
puts "udp0的值:$udp0"
puts "udp1的值:$udp1"
puts "null的值:$null"
puts "============================================="
puts "号码为0的slot对应的对象名: [[$node set dmux_] slot 0]" ;
#查询号码为0的slot对应的对象名并将其输出。
puts "udp0的值: $udp0" ;#输出udp0的值。
puts "udp0所在的slot号码: [[$node set dmux_] findslot $udp0]" ;
#查询udp0所在的slot号码并输出。
puts "查询null所在的slot号码(若没有则输出-1):[[$node set dmux_] findslot $null]" ;
#查询null所在的slot号码,表中没有找到该对象(当前null没有加入),返回-1,并输出。
puts "查询udp1所在的slot号码(若没有则输出-1):[[$node set dmux_] findslot $udp1]" ;
puts "============================================="
puts "插入一个指向udp1的表项......\n其表项的slot号码=[[$node set dmux_] installNext $udp1]";
#在最后一个slot 0后插入一个新的指向对象udp1的表项,并返回该表项的slot号码、输出。
puts "查询号码为1的slot对应的对象名:[[$node set dmux_] slot 1]" ;
#查询号码为1的slot对应的对象名并将其输出。
puts "udp1的值:$udp1" ;#输出udp1的值。
puts "============================================="
puts "将号码为0的slot所指向的对象设为udp1(slot0原本指向udp0)......"
[$node set dmux_] install 0 $udp1 ;
#将号码为0的slot所指向的对象设为udp1(slot0原本指向udp0)。
puts "查询号码为0的slot对应的对象名:[[$node set dmux_] slot 0]" ;
#查询号码为0的slot对应的对象名并将其输出。
puts "udp1的值:$udp1" ;#输出udp1的值。
puts "查询号码为1的slot对应的对象名:[[$node set dmux_] slot 1]" ;
puts "============================================="
puts "寻找空闲的slot:[[$node set dmux_] alloc-port $null]" ;
#寻找一个空闲的slot并输出。
puts "将号码为0的slot清空......"
[$node set dmux_] clear 0 ;# 将号码为0的slot清空。
puts "udp1的值:$udp1 (说明slot清空对指向的对象没影响)" ;#输出udp1的值。
puts "寻找空闲的slot:[[$node set dmux_] alloc-port $null]" ;
#寻找一个空闲的slot并输出。
puts "============================================="
#puts "[[$node set dmux_ ] slot 0 ]" ;
#上面的一行命令:查询号码为0的slot对应的对象名,
#由于slot 0被clear,故会返回错误信息,所以应该被注释掉!否则会有错误输出。
$ns run
===============输出各对象的值================
ns的值:_o3
node的值:_o10
udp0的值:_o13
udp1的值:_o14
null的值:_o15
=============================================
号码为0的slot对应的对象名: _o13
udp0的值: _o13
udp0所在的slot号码: 0
查询null所在的slot号码(若没有则输出-1):-1
查询udp1所在的slot号码(若没有则输出-1):-1
=============================================
插入一个指向udp1的表项......
其表项的slot号码=1
查询号码为1的slot对应的对象名:_o14
udp1的值:_o14
=============================================
将号码为0的slot所指向的对象设为udp1(slot0原本指向udp0)......
查询号码为0的slot对应的对象名:_o14
udp1的值:_o14
查询号码为1的slot对应的对象名:_o14
=============================================
寻找空闲的slot:2
将号码为0的slot清空......
udp1的值:_o14 (说明slot清空对指向的对象没影响)
寻找空闲的slot:0
=============================================
1. alloc-port :寻找一个空闲的slot。
2. clear :将号码为index的slot清空。
3. installNext:在最后一个slot后插入一个新的指向object的表项,并返回该表项的slot号码:如果object为空,会返回错误信息。
4. slot :产旬号码为index的slot对应对象名,如果该slot为空,会返回错误信息。
5. findslot:查询一个object所在的slot号码,如果该object为空,会返回错误信息,如果在表中没有找到该object,会返回-1。
6. install :将号码为index的slot所指向的对象设为object。
![](/editor/icons/etc_12.gif)
转载于:https://blog.51cto.com/xgucs/187707
《NS与网络模拟》第五章node示例相关推荐
- C PrimerPlus 第五章程序示例
程序清单5.1 # include <stdio.h> # define ADJUST 7.31 int main(void) {const double SCALE = 0.333;do ...
- mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...
- 第五章 Java 中的 wait、notify 和 notifyAll 方法示例
您可能已经注意到 Object 类具有三个 final 方法,分别称为 wait.notify 和 notifyAll.这些方法用于线程间通信.Java 5 引入了执行器框架,它为您处理线程间通信,并 ...
- linux简单设计与实现代码,《linux内核设计与实现》第五章(示例代码)
第五章 系统调用 一.与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层.作用: 为用户空间提供了一种硬件的抽象接口. 系统调用保证了系统的稳定和安全. 每个进程都运行在虚拟系统中,而在 ...
- KCNA考试 第五章:kubernetes学习实践
文章目录 1. 简介 2. 学习目标 3. Kubernetes对象 4. 与Kubernetes交互 4.1 Demo: kubectl 5. Pod 概念 5.1 Demo: Pods 6. 负载 ...
- 《Go语言圣经》学习笔记 第五章函数
<Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...
- 第十五章 Caché WebSocket
文章目录 第十五章 Caché WebSocket 使用WebSockets (RFC 6455) Short Polling 短轮询 Long Polling 长轮询 HTTP Streaming ...
- 《Windows核心编程》读书笔记二十五章 未处理异常,向量化异常处理与C++异常
第二十五章 未处理异常,向量化异常处理与C++异常 本章内容 25.1 UnhandledExceptionFilter函数详解 25.2 即时调试 25.3 电子表格示例程序 25.4 向量化异常 ...
- 设计数据密集型应用 第五章:复制
设计数据密集型应用 第五章:复制 与可能出错的东西比,'不可能'出错的东西最显著的特点就是:一旦真的出错,通常就彻底玩完了. --道格拉斯·亚当斯(1992) 文章目录 设计数据密集型应用 第五章:复 ...
最新文章
- 华为云BU总裁:如何把AI从噱头变为生产力?
- ZeroMQ接口函数之 :zmq_poll - I/O多路技术
- 托管exe文件的加载和执行
- java把控制台的结果输出为本地文件作为日志
- 电脑仙人掌机器人作文_【中考一等作文2篇】致敬奋斗的时光父爱如根般深沉...
- 编译内核出错:invalid option `abi=aapcs-linux'
- cojs 安科赛斯特 题解报告
- Numpy知识点:np.expand_dims()np.argmax()
- 为什么国内的游戏公司吃相越来越难看了?
- Micro Sip 配置自己的freeswitch服务器地址
- 手机炒股软件测试自学,手机炒股用什么软件好 主流手机炒股软件评测
- php 输入经纬度查询位置,php 根据实际地址获取对应的经纬度
- 使用python暴力破解ZIP、7Z 、RAR格式压缩包密码教程
- 郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(三)—KNN算法)...
- Backtrader:用feather格式股票数据代替tushare进行数据回测
- [转]	 25岁,我习得了自愈近视的魔法
- 微信android返回上一页位置,解决微信内置浏览器返回上一页强制刷新问题方法...
- U盘中毒后,手把手教你恢复文件
- 360 html页面乱码,360浏览器出现乱码的解决方法
- java任意键继续_java 按任意键继续怎么写
热门文章
- python写机器人插件_从Python写入机器人框架控制台
- 电脑测试软件_一种笔记本电脑转轴扭力测试仪
- python函数解读_通过7个Python函数来解释区块链
- 数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf
- python数据分析如何学_用Python做数据分析,Numpy,Pandas,matp
- word2vec原理_初识word2vec词向量
- 麦亡9什么时候能装鸿蒙系统,距断供不到10天 麒麟9000即将绝版 华为大招来了:不止鸿蒙2.0...
- 学会python爬虫能发财么_python如何赚钱? python爬虫如何进阶? python就业? 如何快速入门python?...
- linux中crontab的用法
- java hough_java – 如何实现Hough变换?