static void Main(string[] args) { /* * Make sure this path contains the umundoNativeCSharp.dll! */ SetDllDirectory("C:\\Program Files\\uMundo\\lib"); org.umundo.core.Node node = new org.umundo.core.Node(); TypedPublisher pub = new TypedPublisher("s11ndemo"); node.addPublisher(pub); TestTypedReceiver ttr = new TestTypedReceiver(); TypedSubscriber sub = new TypedSubscriber("s11ndemo", ttr); node.addSubscriber(sub); // Currently not working in C# //Console.WriteLine("Waiting for subsrcibers..."); //int subs = pub.waitForSubscribers(2); //Console.WriteLine(subs + " subscribers"); AMessage msg = new AMessage(); msg.a = 42; msg.b = 43; sub.RegisterType(msg.GetType().Name, msg.GetType()); while (true) { Console.WriteLine("s: " + msg.a + ", " + msg.b); pub.SendObject(msg); System.Threading.Thread.Sleep(1000); } }
static void Main(string[] args) { if (System.Environment.Is64BitProcess) { SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp64"); } else { SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp"); } while (true) { Node node1 = new Node(); TypedPublisher pub1 = new TypedPublisher("s11nStress"); TypedSubscriber sub1 = new TypedSubscriber("s11nStress", new StressReceiver()); pub1.setGreeter(new StressGreeter()); Test.AllTypes protoTypeAll = new Test.AllTypes(); sub1.RegisterType(protoTypeAll.GetType().Name, protoTypeAll.GetType()); node1.addPublisher(pub1); node1.addSubscriber(sub1); Discovery disc = new Discovery(Discovery.DiscoveryType.MDNS); disc.add(node1); int i = 500; while (i-- > 0) { Console.Write("o"); Test.AllTypes tstAll = new Test.AllTypes(); tstAll.boolType = true; tstAll.doubleType = 1.23456; pub1.SendObject(tstAll); System.Threading.Thread.Sleep(5); } node1.removePublisher(pub1); node1.removeSubscriber(sub1); disc.remove(node1); System.GC.Collect(); } }
static void Main(string[] args) { /* * Make sure this path contains the umundoNativeCSharp.dll! */ if (System.Environment.Is64BitProcess) { SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp64"); } else { SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp"); } org.umundo.core.Node node = new org.umundo.core.Node(); org.umundo.core.Discovery disc = new org.umundo.core.Discovery(Discovery.DiscoveryType.MDNS); disc.add(node); TypedPublisher pub = new TypedPublisher("s11ndemo"); node.addPublisher(pub); TestTypedReceiver ttr = new TestTypedReceiver(); TypedSubscriber sub = new TypedSubscriber("s11ndemo", ttr); node.addSubscriber(sub); Console.WriteLine("Waiting for subscribers..."); int subs = pub.waitForSubscribers(1); Console.WriteLine(subs + " subscribers"); AMessage msg = new AMessage(); msg.a = 42; msg.b = 43; sub.RegisterType(msg.GetType().Name, msg.GetType()); while (true) { Console.WriteLine("s: " + msg.a + ", " + msg.b); pub.SendObject(msg); System.Threading.Thread.Sleep(1000); } }