private void Run() { Console.WriteLine("Hello! Enter Your Username:"); string username = Console.ReadLine(); Peer <IPingService> peer = new Peer <IPingService> { PeerID = Guid.NewGuid().ToString().Split('-')[4], Username = username }; IPeerRegistrationRepository peerRegistration = new PeerRegistrationManager(); IPeerNameResolverRepository peerNameResolver = new PeerNameResolver(peer.PeerID); IPeerConfigurationService <PingService> peerConfigurationService = new PeerConfigurationService(peer); PeerServiceHost psh = new PeerServiceHost(peerRegistration, peerNameResolver, peerConfigurationService); Thread thd = new Thread(() => { psh.RunPeerServiceHost(peer); }) { IsBackground = true }; thd.Start(); Console.ReadLine(); }
private void Run() { Peer <IPingService> peer = new Peer <IPingService> { UserName = Guid.NewGuid().ToString().Split('-')[4] }; IPeerRegistrationRepository peerRegistration = new PeerRegistrationManager(); IPeerNameResolverRepository peerNameResolver = new PeerNameResolver(peer.UserName); IPeerConfigurationService peerConfigurationService = new PeerConfigurationService(peer); peerRegistration.StartPeerRegistration(peer.UserName, peerConfigurationService.Port); Console.WriteLine("Peer Information . . . ."); Console.WriteLine($"Peer Uri: {peerRegistration.PeerUri} \t\t Port: {peerConfigurationService.Port}"); var host = Dns.GetHostEntry(peerRegistration.PeerUri); host.AddressList?.ToList().ForEach(p => Console.WriteLine($"\t\t IP :{p}")); Console.ReadLine(); }