Oi pessoal, :blackp:
Olha soh, eu tenho que fazer um código que se conecte um Host(ha) com um outro Host(hb) através de 2 Roteadores(r1 e r2), assim como na net. até um cero ponto tudo bem, mas não consigui entende como faço o método “criaLink”. Já tenho quase udo pronto, inclusive a classe com o método Main:
public class TestNet
{
public static void Main (String[] args)
{
[color=violet]//cria roteadores, onde 2 é o número de interfaces (ou portas) que o roteador tem, e “r1” é o seu
//nome[/color]
Roteador r1 = new Roteador(2, “r1”);
Roteador r2 = new Roteador(2, “r2”);
[color=violet] //cria Hosts, onde “ha” é o nome do host[/color]
Host ha = new Host (“ha”);
Host hb = new Host (“hb”);
[color=violet] //cria enlaces
//cria Hosts, onde “ha” é o nome do host e 1000 é a largura de banda do enlace (1000 Mbit/s)[/color][color=violet] [/color]
Enlace ea1 = new Enlace(1000, “ea1”);
Enlace e12 = new Enlace(1000,“e12”);
Enlace e2b = new Enlace(1000,“e2b”);
[color=violet] //Cria as conexões físicas para cada roteador. A primeira linha adiciona o enlace ea1, que
//interliga roteador r1 ao host ha (vide figura) ao roteador r1. A segunda linha adiciona o outro
//enlace (e12) ao mesmo roteador – vide figura.[/color]
r1.criaLink1(ea1,r1,ha);
r1.criaLink2(e12,r1, r2);
r2.criaLink1(e12,r2,r1);
r2.criaLink2(e2b,r2,hb);
[color=violet] //Cria conexões para os hosts, seguindo a mesma semântica dos Links para os enlaces[/color]
ha.criaLink1(ea1, ha, r1);
hb.criaLink1(e2b, hb, r2);
[color=violet] /**
* Método transferir da classe Roteador ( o mais importante):
* Verifica se o roteador r1 consegue entregar dados até hb(ou qualquer host/roteador). Essa avaliação
* pode ter três resultados:
* 1 – o roteador consegue entregar, utilizando seus próprios links, diretamente (por exemplo, o o
* roteador r1 consegue entregar dados ao host há e ao roteador r2 diretamente)
* 2 – o roteador consegue entregar, porém indiretamente, utilizando outro roteador (ex: o roteador
* r1 consegue entregar dados ao host hb via o roteador r2
* 3 – o roteador não consegue entregar (por exemplo: r1 não consegue entregar dados para o host “hx”
* */[/color]
String transf = r1.transferir(“hb”);
System.out.println(transf);
}
}
Daí na classe Roteador eu tenho que faze um array, mas não entendi bem. Será que eu peciso fazer uma classe “Conexao”???
Classe Roteador:
public class Roteador
{
private String nome;
private int numeroInterfaces;
private String transf;
private String arrayConexao[];
private String arrayChegada[];
public Roteador(int numeroInterfaces, String nome )
{
this.numeroInterfaces = numeroInterfaces;
this.nome = nome;
}
public Host setHost(int numeroInterfaces)
{
this.numeroInterfaces = numeroInterfaces;
numeroInterfaces = 0;
if(numeroInterfaces == 1)
{
}
public void criaLink()
{
arrayConexao[];
arrayChegada[];
}
public void transferir(String transf)
{
this.transf = transf;
}
}
Sei que ela está errada em alguns pontos!
Por favor, me ajudem!!! :tiros: :viva: