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