void gossipMeeting(List <ServerClient> clients, Meeting meeting, string topic) { if (clients == null) { return; } foreach (ServerClient client in clients) { Console.WriteLine(String.Format("Gossip metting with topic {0}to client with id{1}", topic, client.ClientId)); IMSDADClientToClient c = (IMSDADClientToClient)Activator.GetObject(typeof(IMSDADClientToClient), client.Url); c.receiveGossipMeetings(meeting, topic); Console.WriteLine(String.Format("Successfully gossiped metting with topic {0}to client with id{1}", topic, client.ClientId)); } }
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); } }