AcceptTcpClientAsync and passing it a CancellationToken which does seem to end the TcpClients, but I guess I'm expecting to see a more graceful end in my TcpCleints which I am not.client.Close and then get the "Client disconnected" message, which isn't happening.