资源简介
压缩包内包含完整程序、使用说明、实验报告
1.关与距离
本程序使用8作为路由投递的最大距离,通过吧距离设为8作为路由不可达的标志。
2.关于路由回路
本程序同时采用了水平分割,毒性转换,和抑制时间来避免路由回路的产生。即不再想X发送从X处学得的路由信息;把到故障路由的距离设置为最大值8,表示不可达;不接受除故障路由外的其它路由发来的故障路由恢复的信息。
3.程序操作指令说明:
1.N
动态输出路由器的邻居路由
2.T
动态打印路由器的路由表
3.0~9
转发分组。注:本程序设置TTL=2
4.R X(注:此处R与X之间必须加空格)
路由器拒绝包含X的路由更新信息
5.r X(同上)
路由器恢复接收包含X的路由更新信息
6.“路由中止”和“路由恢复”按钮
用来使路由器停止或恢复发送路由表
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
namespace DV
{
public partial class Form1 : Form
{
Form2 form2 = new Form2();
Form3 form3 = new Form3();
Form4 form4 = new Form4();
Form5 form5 = new Form5();
///
/// 属性定义部分
///
public int TTL = 2; //定义分组存活时间
public string Id; //本路由ID
public string Myport; //本地端口
public ArrayList Refu = new ArrayList();//保存拒收路由的ID
public struct Naddr //邻居表结构
{
public string id;
public string port;
}
public struct Ntime //计时结构体
{
public string id;
// public string t;
public DateTime datetime;
}
public struct routeList //路由表结构
{
public string dest; //目的地
public string route;//路由
public string dis; //距离
};
List routelist = new List(); //用routelist来存储本机路由表信息
List naddr = new List(); //用naddr来存储邻居表信息
List ntime = new List();
UdpClient udpSend; //声明UDPClient
UdpClient udpRec;
System.Timers.Timer t = new System.Timers.Timer(2000);//实例化Timer类,设置间隔时间为2000毫秒;
System.Timers.Timer check = new System.Timers.Timer(2000); //实例化Timer类,设置间隔时间为2000毫秒;
///
/// 主窗口
///
List RouterList = new List(); //用LIST来存储路由信息类
public Form1()
{
Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
//接收输入的数据
StreamReader strmReader = new StreamReader(“data.txt“);
string s;
// listBox1.Items.Add(“RouterList:“);
//************对输入数据进行处理
while (strmReader.Peek() != -1)
{
s = strmReader.ReadLine();
// listBox1.Items.Add(s); //输出初始化路由表
ArrayList a = new ArrayList();
Router router = new Router(null null null);
router.Id = s.Substring(7 1);
router.Myport = s.Substring(10 4);
router.Nport = s.Substring(16);
RouterList.Add(router);
}
for (int i = 0; i < RouterList.Count; i++) // Loop through List with for
{
if (i == 0)
{ Id = RouterList[i].Id; }
if (i == 1)
{ form2.Id = RouterList[i].Id; }
if (i == 2)
{
form3.Id = RouterList[i].Id;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-26 19:56 dv\
目录 0 2011-12-05 20:20 dv\DV\
目录 0 2011-12-05 20:20 dv\DV\DV\
文件 848 2011-12-02 23:20 dv\DV\DV.sln
文件 25600 2011-12-05 18:44 dv\DV\DV.suo
目录 0 2011-12-05 20:20 dv\DV\DV\bin\
目录 0 2011-12-05 20:20 dv\DV\DV\bin\Debug\
文件 112 2011-12-03 22:35 dv\DV\DV\bin\Debug\data - 副本.txt
文件 84 2011-12-04 21:28 dv\DV\DV\bin\Debug\data-1.txt
文件 156 2011-12-02 23:20 dv\DV\DV\bin\Debug\data.txt
文件 49664 2011-12-05 19:41 dv\DV\DV\bin\Debug\DV.exe
文件 110080 2011-12-05 19:41 dv\DV\DV\bin\Debug\DV.pdb
文件 11600 2011-12-05 19:44 dv\DV\DV\bin\Debug\DV.vshost.exe
目录 0 2011-12-05 20:20 dv\DV\DV\bin\Release\
文件 156 2011-12-02 23:20 dv\DV\DV\bin\Release\data.txt
文件 46080 2011-12-05 20:03 dv\DV\DV\bin\Release\DV.exe
文件 97792 2011-12-05 20:03 dv\DV\DV\bin\Release\DV.pdb
文件 11600 2011-12-05 20:03 dv\DV\DV\bin\Release\DV.vshost.exe
文件 490 2010-03-17 22:39 dv\DV\DV\bin\Release\DV.vshost.exe.manifest
文件 4916 2011-12-03 23:02 dv\DV\DV\DV.csproj
文件 22586 2011-12-05 19:40 dv\DV\DV\Form1.cs
文件 5098 2011-12-05 15:37 dv\DV\DV\Form1.Designer.cs
文件 5817 2011-12-05 15:37 dv\DV\DV\Form1.resx
文件 21575 2011-12-05 19:40 dv\DV\DV\Form2.cs
文件 5092 2011-12-05 15:37 dv\DV\DV\Form2.Designer.cs
文件 5817 2011-12-05 15:37 dv\DV\DV\Form2.resx
文件 21517 2011-12-05 19:40 dv\DV\DV\Form3.cs
文件 5093 2011-12-05 15:39 dv\DV\DV\Form3.Designer.cs
文件 5817 2011-12-05 15:39 dv\DV\DV\Form3.resx
文件 21571 2011-12-05 19:40 dv\DV\DV\Form4.cs
文件 5092 2011-12-05 15:39 dv\DV\DV\Form4.Designer.cs
............此处省略53个文件信息
- 上一篇:WinForm音乐播放器源码
- 下一篇:C#自动出题判分小程序
相关资源
- C#自动出题判分小程序
- C# 将照片存储到MySQL数据库
- ASP.NET 动态网站开发基础教程(C#篇)
- C# 简单反射实现winform左侧树形导航,
- WPF封装动画类,使用方便气泡动画、
- C#WinForm基于BS构架实现CS及源代码
- C#实现局域网文件传送
- c# 截取指定窗口图 根据指定坐标
- 传智播客24期最全视频
- C#控制IE浏览器
- C#对DataGridView进行添加、修改、删除数
- FTP上传、、创建目录、重命名、删除
- c# 游戏手柄控制 Joystick
- c# 调用百度地图API
- C#软件注册和注册机的实现源码
- c# 图片编辑方法集合
- c#五子棋游戏源代码200445
- c# 加密和解密相关代码
- C#编写txt小说阅读器()
- C#实现简洁的绘图界面
- C#实现的读取CAD表格文字
- C#高质量仿腾讯截图程序(改)
- 员工管理信息系统C#源代码
- c#连接sqlite简单
- WPF制作的取色器ColorPicker
- C#登录页面
- 11 如何在工具栏添加下拉菜单.rar
- C#把文件拖动到窗口上面 Q698507 问题的
- halcon联合C#车牌识别
- 员工信息管理系统C#源码
评论
共有 条评论