云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于DV算法的路由器模拟设计与实现 - 图文

基于DV算法的路由器模拟设计与实现 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 12:53:57

华北计算机系统工程研究所—若@只如初见

} /**

String nextHops=Arrays.toString(routerTable.getNextHop()); routerAreaLeft.setText(\

routerAreaLeft.append(\目的路由:\\n[2001, 2002, 2003, 2004, 2005, routerAreaLeft.append(\下一跳是:\\n\routerAreaLeft.append(\距离是:\\n\

2006]\\n\

* 点击发送按钮,来向destRouterId发送msgBytes数据。 * @param destRouterId 目的路由 * @param msgBytes 要发送的数据 * @return 返回是否成功的标志 */

public synchronized boolean sendData(int destRouterId,byte [] msgBytes){ */

sendSocket=new DatagramSocket();

TotalPacket totalPacket=new TotalPacket(\SendDataPacket sendDataPacket=new SendDataPacket(); sendDataPacket.setSourceRouterId(router.getRouterId()); sendDataPacket.setDestRouterId(destRouterId); sendDataPacket.setHops(16); int forwardNextHopRouterId=0;

/*****************************************************************

boolean sendDataSuccess=false; DatagramSocket sendSocket = null; ByteArrayOutputStream bos = null; ObjectOutputStream oos = null; int severReceivePort=0;

DatagramPacket datagramPacket = null; byte[] bufferOut = new byte[1024 * 1024]; try {

29

华北计算机系统工程研究所—若@只如初见

for(int i=0;i

routerAreaRightSouth.append(\我最终的目的是routerAreaRightSouth.append(\我要转发这个数据包给routerAreaRightSouth.append(\要传送的数据是:\

sendDataPacket.setData(msgBytes);

totalPacket.setSendDataPacket(sendDataPacket);

InetAddress

bos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(bos); oos.writeObject(totalPacket); bufferOut = bos.toByteArray();

serverInetAddress

if(i==(destRouterId-Constant.getRouterIdBasic())){

forwardNextHopRouterId=router.getRouterTable().getNextHop()[i];

\

\String(msgBytes)+\

=InetAddress.getByName(\

severReceivePort=forwardNextHopRouterId-Constant.getRouterIdBasic()+Const

}

sendSocket.close(); sendDataSuccess=true;

}

datagramPacket

=

new

DatagramPacket(bufferOut,

ant.getPortBasic()+10;

bufferOut.length,serverInetAddress, severReceivePort);

sendSocket.send(datagramPacket);

routerAreaRightSouth.append(\转发完毕\\n\break;

} catch (UnknownHostException e) {

30

华北计算机系统工程研究所—若@只如初见

} }

}

e.printStackTrace(); e.printStackTrace(); sendSocket.close();

} catch (IOException e) { }finally{

return sendDataSuccess;

package totalThreads;

import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress;

import transportPacket.RouterTablePacket; import transportPacket.TotalPacket;

import entity.Constant; import entity.NetMap; import entity.Router; /**

* 每一个路由器线程都有的发送线程 * @author 郭金磊 *@since 20131220 */

public class SendThread extends Thread { /**

* 本路由器的路由表,里面还有RouterTable属性,即是本路由器路由表的值。s

31

华北计算机系统工程研究所—若@只如初见

*/

private Router router; /**

* 用于发送路由表的socket */

private DatagramSocket receiveSocket; /**

*SendThread的默认构造函数 */

public SendThread() { } /**

* 含有参数的构造函数

* @param receiveSocket 用于发送路由表的socket

* @param router 本路由器的路由表,里面还有RouterTable属性,即是本路由器路由表的值。 */

public SendThread(DatagramSocket receiveSocket,Router router) { } /**

* 开启发送线程,每隔1秒钟就发送本路由表中的信息。 */

public synchronized void run() {

ByteArrayOutputStream bos = null; ObjectOutputStream oos = null; int severReceivePort=0;

DatagramPacket datagramPacket = null; byte[] bufferOut = new byte[1024 * 1024];

while(true) { super();

this.receiveSocket=receiveSocket; this.router = router; super();

32

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

华北计算机系统工程研究所—若@只如初见 } /** String nextHops=Arrays.toString(routerTable.getNextHop()); routerAreaLeft.setText(\routerAreaLeft.append(\目的路由:\\n[2001, 2002, 2003, 2004, 2005, routerAreaLeft.append(\下一跳是:\\n\routerAreaLeft.append(\距离是:\\n\2006]\\n\ * 点击发送按钮,来向destRouterId发送msgBytes数据。 * @param destRouterId 目的路由 * @param msgBytes 要发送的数据 * @return

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com