static void Main(string[] args) { //Choix de l'algo int choiceAlgorithm; bool parsed; do { Console.WriteLine("Quel algorithme souhaitez-vous utiliser?\n1) LS\n2) DV"); parsed = Int32.TryParse(Console.ReadLine(), out choiceAlgorithm); } while (!parsed || (choiceAlgorithm != 1 && choiceAlgorithm != 2)); if (choiceAlgorithm == 1) { Router.RouterMode = ModeEnum.LS; } else { Router.RouterMode = ModeEnum.DV; } Router RouterA = new Router("RouterA", 50001); Router RouterB = new Router("RouterB", 50002); Router RouterC = new Router("RouterC", 50003); Router RouterD = new Router("RouterD", 50004); Router RouterE = new Router("RouterE", 50005); Router RouterF = new Router("RouterF", 50006); Link linkAB = new Link(RouterA, RouterB, 5); Link linkAD = new Link(RouterA, RouterD, 45); Link linkBC = new Link(RouterB, RouterC, 70); Link linkBE = new Link(RouterB, RouterE, 3); Link linkDC = new Link(RouterD, RouterC, 50); Link linkDE = new Link(RouterD, RouterE, 8); Link linkCF = new Link(RouterC, RouterF, 78); Link linkEF = new Link(RouterE, RouterF, 7); RouterA.NeighboursLink = new List<Link>() { linkAB, linkAD }; RouterB.NeighboursLink = new List<Link>() { linkAB, linkBE, linkBC }; RouterC.NeighboursLink = new List<Link>() { linkBC, linkDC, linkCF }; RouterD.NeighboursLink = new List<Link>() { linkAD, linkDC, linkDE }; RouterE.NeighboursLink = new List<Link>() { linkDE, linkBE, linkEF }; RouterF.NeighboursLink = new List<Link>() { linkCF, linkEF }; Thread ThreadRouterA = new Thread(RouterA.StartListening); Thread ThreadRouterB = new Thread(RouterB.StartListening); Thread ThreadRouterC = new Thread(RouterC.StartListening); Thread ThreadRouterD = new Thread(RouterD.StartListening); Thread ThreadRouterE = new Thread(RouterE.StartListening); Thread ThreadRouterF = new Thread(RouterF.StartListening); ThreadRouterA.Start(); ThreadRouterB.Start(); ThreadRouterC.Start(); ThreadRouterD.Start(); ThreadRouterE.Start(); ThreadRouterF.Start(); RouterA.UpdateNeighborhood(); RouterB.UpdateNeighborhood(); RouterC.UpdateNeighborhood(); RouterD.UpdateNeighborhood(); RouterE.UpdateNeighborhood(); RouterF.UpdateNeighborhood(); Console.ReadLine(); }