Exemple #1
0
        private void RunAsBoth()
        {
            // a node is like an erlang node. it is like a VM. like its own world
            using (var node = new TcpNode(18223))
            using (var server = node.Listen(18222, serializer))
            {
                // add actor, an actor is like an object. it can send & receive messages
                node.Add(new BandwidthActor());
                node.Add(new EchoActor());
                node.Add(new PingActor());
                var mainDht = new DhtActor();
                node.Add(mainDht);
                node.Add(new FileCopyActor());
                for (int i = 0; i < 1000; i++)
                {
                    var actor = new DhtActor("dht" + i);
                    node.Add(actor);
                    actor.Dht.Join(mainDht.Id);
                }

                var echo = node.New<IEcho>("System.Echo");
                Console.WriteLine(echo.Echo("hey dude"));

                var dht = node.New<IDht>("dht1");
                dht.Put("abc", "def");
                Console.WriteLine("found " + dht.Get("abc"));
                var dht2 = node.New<IDht>("dht85");
                int j=0;
                while (true)
                {
                    var result = dht2.Get<string>("abc");
                    Console.WriteLine("result = " + result);
                    if(result == "def") break;
                    Console.WriteLine((++j) + "  " + dht.Get("abc") );
                    Thread.Sleep(1000);
                }
                Console.WriteLine("def");

                Console.WriteLine("press a key to quit");
                Console.ReadKey();
            }
        }
Exemple #2
0
 void RunAsServer()
 {
     // a node is like an erlang node. it is like a VM. like its own world
     using (var node = new TcpNode(18223, "server"))
     using(var server = node.Listen(18222, serializer, isLocalOnly: false))
     {
         // add actor, an actor is like an object. it can send & receive messages
         node.AddBuiltins();
        // node.Add(new DhtActor(ProxyFactory.New<IDhtBackend>()));
         //using (var cmd = new ConsoleProcessActor("cmd.exe", "cmd.exe"))
         //{
         //    node.Add(cmd);
         //    while (cmd.IsAlive)
         //        Thread.Sleep(10);
         //}
         Thread.Sleep(Timeout.Infinite);
     }
 }
Exemple #3
0
 void CreateNode(InputBox b)
 {
     var port = b.TextEntry.Text.Convert<int> ();
     var node = new TcpNode (port);
     node.Listen (port);
 }