Beispiel #1
0
        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();
        }