Ejemplo n.º 1
0
        public override RegisterResponseInfo Register(RegisterInfo registerInfo)
        {
            Node n = new Node();
            RegisterResponseInfo rri;

            if (ControlShape)
            {
                lock (mesh_lock)
                {
                    Guid guid = Guid.NewGuid();
                    n.RegistrationId = guid;
                    n.Address        = registerInfo.NodeAddress;
                    n.ClientId       = registerInfo.ClientId;
                    Console.WriteLine("Register: {0}", n.ClientId);

                    if (nodes_count == 0)
                    {
                        unique_node = n;
                    }

                    nodes_count++;
                    rri = new RegisterResponseInfo(n.RegistrationId, TimeSpan.MaxValue);
                }
            }
            else
            {
                rri = base.Register(registerInfo);
            }

            return(rri);
        }
Ejemplo n.º 2
0
        public static void Main()
        {
            BasicHttpBinding binding = new BasicHttpBinding();
            EndpointAddress  ea      = new EndpointAddress(
                new Uri("http://localhost:8080/ChatServer"));
            IPeerResolverContract proxy = ChannelFactory <IPeerResolverContract> .CreateChannel(binding, ea);

//			try {
            Guid guid = Guid.NewGuid();

            Console.WriteLine(guid);
            RegisterInfo ri = new RegisterInfo(
                guid, "net.p2p://chatMesh/ChatServer",
                new PeerNodeAddress(new EndpointAddress("http://localhost:8080/ChatServer"),
                                    new ReadOnlyCollection <System.Net.IPAddress> (new List <System.Net.IPAddress> ())));
            RegisterResponseInfo rri = proxy.Register(ri);

            Console.WriteLine("Response: {0}", rri);
//			}
//			catch (Exception e) {
//				Console.WriteLine (e.Message);
//			}
        }