NS2学习笔记(一)】的更多相关文章

这几天学习NS2,虽然国内很多人使用,但系统的教材资料不多,只能一边看中文教材,一边看英文手册,知识点也是零零散散.过段时间等能将所有知识点串上,再总结总结.现只讲一些零碎的点记录一下. 添加新的协议 添加新的协议,实际上是自己新定义了一个Agent的子类.在笔记(三)已经说过,Agent的子类实际上可以用来实现协议,比如TCP,UDP等等. 下面以新添加一个"Ping"协议为例来讲讲怎么添加新协议. 1.定义一个PingClass,它是TclClass的子类,它的定义是模板化的,只要…
Tcl语言 变量和变量赋值 set a "Hello World!" #将字符串赋值给变量a puts "NS2 say $a" #输出字符串的内容,其中$a表示变量a的内容 输出:NS2 say Hello World! 表达式 Tcl中的表达式用expr这个指令来求解.(expression) set value [expr 0==1]#判断0==1是否成立 puts $value 输出:0 set value [expr 2+3] puts $value 输出…
NS2有两种运行方式: 1.“脚本方式”,输入命令: ns tclscripl.tcl,其中 tclscripl.tcl 是一个Tcl脚本的文件名: 2“命令行方式”,输入命令:ns,进入NS2的命令行环境,然后直接输入各种命令来交互式地运行NS2.(与Python类似) 运行NS2以后也有两种方法记录结果: 1.trace文件: 2.nam(动画演示程序) Tcl脚本1:example1.tcl set ns [new Simulator]#建立一个新的模拟对象simulator set tr…
对无线网络,生成nam文件要使用namtrace-all-wireless, 而不是namtrace-all: set nf [open test_1.nam w] $ns_ namtrace-all-wireless $nf $val(x) $val(y)  其中的$val(x) $val(y)是场景的长宽 在tcl中,如果想读取命令行参数为变量赋值,可以使用语句: set varName [lindex $argv i] 在执行的时候,使用命令: ns file.tcl param1,par…
代理(Agents) 代理是网络层数据包产生和使用的端点,用于实现多层的协议.Agent类部分用OTcl实现,部分用C++实现.C++的代码在~ns/agent.cc和~ns/agent.h中,OTcl的代码在~ns/tcl/lib/ns-agent.tcl中. 1.C++实现的Agent类包含的成员变量有: addr_   源地址 dst_     目的地址 size_    数据包大小(byte) type_   数据包类型 fid_     IP流号 prio_    IP优先级字段 fl…
这两天在调一个仿真程序,比较奇怪的错误,就是一个节点广播消息,在它通信半径内的节点收不到消息,一直在通信上找问题,找了半天也没找到. 最后,用gdb调试,发现在一个操作指针处发生了段错误,引起的原因时在构造函数中初始化为NULL:…
前言: <cocos2d-x实战C++卷>学习笔记.(cocos2d-x 是3.0版本) 介绍 cocos2d-x 通用的字符串类  __String . 使用cocos2d::__String cocos2d::__String 是 Cocos2d-x通用的字符串类,它的设计模拟了Objective-c的NSString类,这由于Cocos2d-x源自于Cocos2d-iphone, cocos2d::__String也是基于 Unicode 双字节 编码. 主要用它的静态方法来创建字符串.…
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon,该工具可以直接下载得到.使用tcpmon可以嗅探网络中传输的数据,便于我们更好的理解soap协议. 下载好tcpmon之后,打开该软件,如图简单设置 tcpmon相当于一个代理服务器,打开tcpmon后,如果把监听端口设置为9999,目标端口设置为8888,当用户访问9999端口时,消息会被tcp…
这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.sh start hmaster   +  hbase-daemon.sh start regionserver    hbase集群关闭:$>stop-hbase.sh   ===>hbase-daemon.sh staop hmaster +hbase-daemon.sh stop region…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…