static void Start (TaskCompletionSource<int> completionSource, TaskCompletionSource<byte[]> result, CancellationToken cancellationToken) { Task.Factory.StartNew (async () => { var endpoint = new TcpEndpoint (IPAddress.Loopback, (PortNumber)9876); var listener = CreateListener (endpoint); NotifyListenerCreated (completionSource); await ListenForClients (cancellationToken, listener, result); }); }
static TcpListener CreateListener (TcpEndpoint endpoint) { var listener = new TcpListener (endpoint.IpAddress, endpoint.Port); listener.Start (); return listener; }