Beispiel #1
0
        public static async Task StartAsync(int port)
        {
            IPAddress localAddr = await EndpointUtils.GetIPAsync();

            IExpiryProvider expiryProvider = new StorageExpiryProvider();
            IStorage        storage        = new InMemoryStorage(expiryProvider);

            IRequestProcessor requestProcessor = new RequestProcessor(storage);
            IProcessor        processor        = new SocketProcessor();
            IListener         server           = new Listener(localAddr, port, processor, requestProcessor);

            server.Start();

            var reset = new ManualResetEventSlim();

            Console.CancelKeyPress += (sender, e) =>
            {
                reset.Set();
            };

            reset.Wait();

            // dispose components
            storage.Dispose();
            server.Dispose();
        }
Beispiel #2
0
        public async Task GetIPAsync_ReturnsIpAddress(string hostName)
        {
            // Act
            IPAddress address = await EndpointUtils.GetIPAsync();

            // Assert
            Assert.NotNull(address);
            Assert.Equal(address.AddressFamily, AddressFamily.InterNetwork);
        }
        private IPEndPoint CreateIPEndPoint()
        {
            IPAddress address;

            if (!string.IsNullOrEmpty(Domain))
            {
                address = EndpointUtils.GetIPAsync(Domain).Result;
                Ip      = address.ToString();
            }
            else
            {
                address = IPAddress.Parse(Ip);
            }

            return(new IPEndPoint(address, Port));
        }