Ejemplo n.º 1
0
 private bool IsRootAlive()
 {
     //ping to root
     try
     {
         ss.Ping();
         //Console.WriteLine("ROOT IS ALIVE");
         return(true);
     }
     catch (Exception e)
     {
         //Console.WriteLine("DEAD: {0}", Server.AllServers[i].UID.AbsoluteUri);
         Console.WriteLine();
         //Console.WriteLine("ROOT IS DEAD, PRESS <ENTER> TO SEARCH FOR A NEW SERVER");
         //Console.WriteLine(e);
         RemotingServices.Disconnect(cs);
         //STATE_CLIENT = STATE_CLIENT_ROOT_DISCOVER;
         //SearchForRootServer(); //Falta implementar um timeout Provavelmente
         //break;
     }
     return(false);
 }
Ejemplo n.º 2
0
 public static void Ping_All_Servers()
 {
     serversAlive.Clear();
     foreach (EachServer s in AllServers)
     {
         if (s.id != MyID)
         {
             IServerServices sd = (IServerServices)Activator.GetObject(typeof(IServerServices), s.uid.ToString() + "MyRemoteObjectName");
             try
             {
                 sd.Ping();
                 if (!serversAlive.Contains(s))
                 {
                     serversAlive.Add(s);
                 }
                 Console.WriteLine("The server {0} is alive", s.uid.ToString());
             }
             catch
             {
                 Console.WriteLine("The server {0} is dead", s.uid.ToString());
             }
         }
     }
 }