资源简介
来自university of Massachusetts的网络作业 框架是node0.c DVsim.h DVsim.c,其中有两个函数需要自己补充,根据自己具体的拓扑图要修改一些数据结构。

代码片段和文件信息
/*****************************************************************
* DVsim.c Distance Vector Routing Simulation Package
*
* Event driven simulation of distributed asynchronous
* distance vector routing. This file contains the network
* simulation code which emulates layer 2 and below:
*
* - simulates packet tranmissions between two
* physically connected nodes
*
* - assumes with no packet loss or corruption
*
* - calls initializations routines rtinit0 etc. before
* beginning simulation
*
*
* Original code from Kurose and Ross Computer Networking
*
* Modified by S. Dykes Apr. 2000
* 1. Changed RNG to use drand48() with seed = getpid()
* 2. Replaced 999 with INF
* 3. created common include file DVsim.h
* 4. extended to 6 node network
*
*---------------------------------------------------------------*/
#define DVSIM_H
#include “DVsim.h“
#include “time.h“
#define FROM_layer2 2
#define link_CHANGE 10
/*----------------------------------------
* Event list and possible events
*---------------------------------------*/
struct event
{
double evtime; /* event time */
int evtype; /* event type code */
int eventity; /* entity where event occurs */
struct rtpkt *rtpktptr; /* ptr to packet (if any) assoc w/ this event */
struct event *prev;
struct event *next;
};
struct event *evlist = NULL;
/*--------------------------------
* Simulation clock
*-------------------------------*/
double clocktime = 0.000;
double get_clock() { return clocktime; }
/*--------------------------------
* Function prototypes
*-------------------------------*/
void init();
void insertevent (struct event *);
void printevlist();
void tolayer2 (struct rtpkt );
/*-------------------------------
* MAIN
*-------------------------------*/
main()
{
int i;
struct event *eventptr;
/*----------------------------------------
* Loop until we run out of events
*---------------------------------------*/
init();
while (1)
{
/*----------------------------------------
* Get next event from top of list
* Done if event list is empty
*---------------------------------------*/
if (! (eventptr = evlist) ) break;
evlist = evlist->next;
if (evlist) evlist->prev=NULL;
/*----------------------------------------
* Trace info
*---------------------------------------*/
if (TRACE>1) {
printf(“\nMAIN: rcv event t=%.3f at %d“
eventptr->evtime eventptr->eventity);
if (eventptr->evtype == FROM_layer2 ) {
printf(“ src:%2d“ eventptr->rtpktptr->sourceid);
printf(“ dest:%2d“ eventptr->rtpktptr->destid);
printf(“ contents: “);
for (i=0; irtpktptr->mincost[i]);
printf(“\n“);
}
}
/*----------------------------------------
* Update clock to next event time
*-----------------------------
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2421 2009-11-18 12:51 node3.c
文件 11669 2009-11-18 12:21 DVsim.c
文件 2812 2009-11-18 12:43 DVsim.h
文件 3967 2009-11-18 12:33 node0.c
文件 2421 2009-11-18 12:51 node1.c
文件 2583 2009-11-18 12:51 node2.c
----------- --------- ---------- ----- ----
25873 6
- 上一篇:MFC DEM内插登高线!!!
- 下一篇:迷宫问题的C++算法实现
相关资源
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
- 算符优先语法分析器(C语言编写)
- 基于C语言的密码锁程序
评论
共有 条评论