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); }
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); // } }