public SubscriberForm(string[] args) { InitializeComponent(); logFormat("Started Process, pid=\"{0}\"", Process.GetCurrentProcess().Id); Text = "Subscriber "; int nargs = 6; if (args.Length != nargs) { logFormat("Expected {0} arguments, got {1}", nargs, args.Length); return; } string puppetMasterURI = args[0]; string name = args[1]; string site = args[2]; int port = int.Parse(args[3]); string coordinatorURI = args[4]; string processName = args[5]; string channelURI = Utility.setupChannel(port); Text = string.Format("{0} {1}", processName, site); // get the puppetMaster that started this process PuppetMaster pm = (PuppetMaster)Activator.GetObject(typeof(PuppetMaster), puppetMasterURI); SubscriberRemote subscriber = new SubscriberRemote(this,pm, name, site, coordinatorURI,processName); //we need to register each remote object ObjRef o = RemotingServices.Marshal(subscriber, name, typeof(Subscriber)); subscriber.setURI(string.Format("{0}/{1}", channelURI, name)); log(subscriber.ToString()); //now that broker is created and marshalled //send remote to puppetMaster which is Monitor.waiting for the remote pm.registerSubscriber(subscriber); logFormat("Just registered at puppetMaster"); }
static void Main(string[] args) { Console.WriteLine("Started Subscriber, pid=\"{0}\"", Process.GetCurrentProcess().Id); int nargs = 6; if (args.Length != nargs) { Console.WriteLine("Expected {0} arguments, got {1}", nargs, args.Length); Console.Read(); return; } string puppetMasterURI = args[0]; string name = args[1]; string site = args[2]; int port = int.Parse(args[3]); string coordinatorURI = args[4]; string processName = args[5]; _processName = processName; string channelURI = Utility.setupChannel(port); // get the puppetMaster that started this process PuppetMaster pm = (PuppetMaster)Activator.GetObject(typeof(PuppetMaster), puppetMasterURI); SubscriberRemote subscriber = new SubscriberRemote(pm, name, site, coordinatorURI); //we need to register each remote object ObjRef o = RemotingServices.Marshal(subscriber, name, typeof(Subscriber)); subscriber.setURI(string.Format("{0}/{1}", channelURI, name)); Console.WriteLine("Created Subscriber at site:\"{0}\" uri:\"{1}\"", site, subscriber.getURI()); //now that broker is created and marshalled //send remote to puppetMaster which is Monitor.waiting for the remote pm.registerSubscriber(subscriber); Console.WriteLine("Just registered at puppetMaster"); Console.WriteLine("Press key to leave"); Console.Read(); }