Ejemplo n.º 1
0
 public Client(IMSDADServer server, String userId, String serverUrl, String ClientURL)
 {
     this.CurrentServer    = server;
     this.serverId         = server.GetServerID();
     this.ClientId         = userId;
     this.ClientURL        = ClientURL;
     this.milliseconds     = 0;
     this.CurrentServerUrl = serverUrl;
 }
Ejemplo n.º 2
0
            public void ReconnectingClient()
            {
                Console.WriteLine("The server " + CurrentServerUrl + " crashed, reconnecting to a new server");

                //Choose random server to connect to
                Random r   = new Random();
                String key = KnownServers.Keys.ToList()[r.Next(0, KnownServers.Count)];

                CurrentServerUrl = KnownServers[key];

                try
                {
                    Console.WriteLine("Trying to reconnect this server: " + CurrentServerUrl);
                    CurrentServer = (IMSDADServer)Activator.GetObject(typeof(IMSDADServer), CurrentServerUrl);
                    KnownServers  = CurrentServer.NewClient(ClientURL, ClientId);
                    Console.WriteLine("The current server is now: " + CurrentServerUrl);
                } catch (System.Net.Sockets.SocketException) {
                    ReconnectingClient();
                }
            }
Ejemplo n.º 3
0
            static void Main(string[] args)
            {
                if (args.Length != 6)
                {
                    System.Console.WriteLine("<usage> Client username client_port network_name server_url script_file client_ip");
                    Environment.Exit(1);
                }

                TcpChannel channel = new TcpChannel(Int32.Parse(args[1]));

                ChannelServices.RegisterChannel(channel, false);
                IMSDADServer server = (IMSDADServer)Activator.GetObject(typeof(IMSDADServer), args[3]);

                Console.WriteLine("This is the first server I'm connecting to!" + args[3]);

                if (server == null)
                {
                    System.Console.WriteLine("Server could not be contacted");
                    Environment.Exit(1);
                }
                else
                {
                    Console.WriteLine("CLIENT BEGINING");
                    String url    = "tcp://" + args[5] + ":" + args[1] + "/" + args[2];
                    Client client = new Client(server, args[0], args[3], url);
                    RemotingServices.Marshal(client, args[2], typeof(Client));

                    //Register Client with server
                    client.KnownServers = server.NewClient(url, args[0]);

                    string randomClientUrl = server.GetRandomClient(client.ClientId);
                    if (randomClientUrl != null)
                    {
                        Console.WriteLine("THE RANDOM CLIENT IS: " + randomClientUrl);
                        IMSDADClientToClient otherClient = (IMSDADClientToClient)Activator.GetObject(typeof(IMSDADClientToClient), randomClientUrl);
                        client.Meetings = otherClient.SendMeetings();
                    }
                    else
                    {
                        Console.WriteLine("NO OTHER CLIENT IN THE SYSTEM");
                    }

                    if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + args[4]))
                    {
                        StreamReader reader = File.OpenText(AppDomain.CurrentDomain.BaseDirectory + args[4]);
                        Console.WriteLine("Press R to run the entire script, or S to start run step by step. Enter Key to each step");
                        int state = 0;
                        //To run everything, press R
                        if (Console.ReadLine().Equals("R"))
                        {
                            state = 1;
                        }

                        client.ParseScript(reader.ReadLine, state);
                        reader.Close();
                    }
                    else
                    {
                        Console.WriteLine("Error: File provided does not exist");
                    }
                    client.ParseScript(Console.ReadLine, 1);
                }
            }