计算机网络实验报告(路由算法、socket编程)

上传人:第*** 文档编号:32813051 上传时间:2018-02-12 格式:DOCX 页数:10 大小:23.25KB
返回 下载 相关 举报
计算机网络实验报告(路由算法、socket编程)_第1页
第1页 / 共10页
计算机网络实验报告(路由算法、socket编程)_第2页
第2页 / 共10页
计算机网络实验报告(路由算法、socket编程)_第3页
第3页 / 共10页
计算机网络实验报告(路由算法、socket编程)_第4页
第4页 / 共10页
计算机网络实验报告(路由算法、socket编程)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机网络实验报告(路由算法、socket编程)》由会员分享,可在线阅读,更多相关《计算机网络实验报告(路由算法、socket编程)(10页珍藏版)》请在金锄头文库上搜索。

1、计算机网络实验报告班级:姓名: 学号:实验一一 实验目的及要求编写程序,模拟距离矢量路由算法的路由表交换过程,演示交换后的路由表的变化。二 实验原理距 离 矢 量 路 由 算 法 是 这 样 工 作 的 : 每 个 路 由 器 维 护 一 张 路 由 表 ( 即 一 个 矢量 ) , 它 以 网 络 中 的 每 个 路 由 器 为 索 引 , 表 中 列 出 了 当 前 已 知 的 路 由 器 到 每 个目 标 路 由 器 的 最 佳 距 离 , 以 及 所 使 用 的 线 路 。 通 过 在 邻 居 之 间 相 互 交 换 信 息 ,路 由 器 不 断 地 更 新 他 们 的 内 部 路 由

2、 表 。 举 例 来 说 , 假 定 使 用 延 迟 作 为 “距 离 ”的 度 量 标 准 , 并 且 该 路 由 器 发 送一 个 列 表 , 其 中 包 含 了 他 到 每 一 个 目 标 路 由 器 的 延 时 估 计 值 ; 同 时 , 他 也 从 每个 邻 居 路 由 器 接 收 到 一 个 类 似 的 列 表 。 假 设 一 个 路 由 器 接 收 到 来 自 邻 居 x 的一 个 列 表 , 其 中 x( i) 表 示 x 估 计 的 到 达 路 由 器 i 所 需 要 的 时 间 。 如 果 该 路由 器 知 道 他 到 x 的 延 时 为 m 毫 秒 , 那 么 他 也 知

3、 道 在 x( i) +m 毫 秒 之 间 内 经过 x 可 以 到 达 路 由 器 i。 一 个 路 由 器 针 对 每 个 邻 居 都 执 行 这 样 的 计 算 , 就 可 以发 现 最 佳 的 估 计 值 , 然 后 在 新 的 路 由 器 表 中 使 用 这 个 最 佳 的 估 计 值 以 及 对 应 的输 出 路 线 。三 源 程 序 :#include stdio.h#include stdlib.h#include malloc.h#include graphics.h#include dos.h#define VERNUM 7typedef structint dis;int

4、 flag;int flag2;RoutNode;char tmp10;RoutNode dataVERNUMVERNUM; void welcome(); void InitRoutData(FILE* pfile); void PrintRoutData(); void SendInf(int recv, int send); void Exchange(); int main()int start, end, i, j, m, n; FILE *pfile;welcome();pfile = fopen(1.txt, r);if (pfile = NULL)printf(the file

5、 wrong,press any key to come back.n);getch();return;elseInitRoutData(pfile);fclose(pfile);printf(nthe original route table:n);for (i = 0; i 0)printf( , j + 65, dataij.dis);printf(n);PrintRoutData();getch();for (i = 0; i = 0 & c =0)if(dataij.flag2 =1)setfillstyle(SOLID_FILL,5);bar(80*i+50,40*j+155,80

6、*i+120,40*j+185);delay(50000);dataij.flag2 =0;setfillstyle(SOLID_FILL,3);bar(80*i+50,40*j+155,80*i+120,40*j+185);settextstyle(1,0,2);sprintf(tmp,%d,dataij.dis);outtextxy(80*i+65,40*j+165,tmp); /*end of for (j = 0*/ /*end of for (i = 0*/void SendInf(int recv, int send)int i;for (i = 0; i 0& datasendi

7、.flag!=1) if (datarecvi.dis datasendi.dis + datarecvsend.dis)datarecvi.dis = datasendi.dis + datarecvsend.dis;datarecvi.flag =1;datarecvi.flag2 =1; /*end of if*/ /*end of for*/void Exchange() int i, j;for (i = 0; i 0& dataij.flag!=1) SendInf(i, j); /*end of if*/ /*end of for (j = 0*/ /*end of for (i

8、 = 0*/四 、 实 验 心 得 体 会通 过 本 次 实 验 训 练 , 我 了 解 了 距 离 矢 量 路 由 算 法 的 基 本 原 理 , 复 习 了 C 语 言编 程 的 内 容 , 通 过 对 路 由 算 法 的 实 现 , 加 深 了 对 路 由 表 交 换 的 理 解 。实 验 二一 、 实 验 目 的 及 要 求编 写 程 序 , 联 系 Socket 编 程 和 TCP/IP 协 议 的 应 用 , 要 求 实 现 Server 端 和Client 端 的 信 息 通 信 。二 、 实 验 原 理在 TCP/IP 编程中,为客户端和服务器端提供相同的端口号和 IP 地址号

9、,实现Server 端和 Client 端互联,运用 Java 文件流的知识,实现两端的信息传递。三、源程序/*ChatClient*/import java.awt.*;import java.awt.event.*;import java.io.*;import java.io.IOException;import .*;public class ChatClient extends FrameSocket s = null;DataOutputStream dos = null;TextField tf = new TextField();TextArea ta = new TextAr

10、ea();public static void main(String args) new ChatClient().launchFrame();public void launchFrame() setLocation(400,300);this.setSize(300,300);add(tf,BorderLayout.SOUTH);add(ta,BorderLayout.NORTH);pack();tf.addActionListener(new tfListener();this.addWindowListener(new WindowAdapter() public void wind

11、owClosing(WindowEvent e) disconn();System.exit(0););setVisible(true);conn();public void conn () try s = new Socket(127.0.0.1,5555);dos = new DataOutputStream(s.getOutputStream();System.out.println(客户端连接成功!); catch (UnknownHostException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(

12、);public void disconn() try dos.close();s.close(); catch (IOException e) e.printStackTrace();private class tfListener implements ActionListener public void actionPerformed(ActionEvent e) String str = tf.getText().trim();ta.setText(str);tf.setText();try dos.writeUTF(str);dos.flush(); catch (IOExcepti

13、on e1) e1.printStackTrace();/*ChatServer*/import java.io.IOException;import .*;import java.io.*;public class ChatServer public static void main(String args) boolean started = false;try ServerSocket ss = new ServerSocket(5555);started = true;while(started) boolean bConn = false;Socket s = ss.accept()

14、;bConn = true;System.out.println(一个客户端已连接);DataInputStream dis = new DataInputStream(s.getInputStream();while(bConn)String str = dis.readUTF();System.out.println(str);dis.close(); catch (IOException e) e.printStackTrace();四、实验心得体会通过本次实验的练习,熟悉了 TCP/IP 协议,对套接字等概念有了深入的了解,对用Java 语言实现 Socket 编程并实现客户端和服务器端的信息交互有了一定的了解。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号