Client/Server, Asynchronous ping-pong exchange
As far as I know, it seems to be only a "warning". Async/Await are supposed to be used as a pair in most cases. Let's have a simple example based on your code : 

 HostAsync();


Here you have written a basic method call, and the method is :

private async Task HostAsync()


So the warning appears because compiler is expecting something like :

await ...


inside the HostAsync method.

By not putting the await keyword inside this async method, we get basically a synchronous call, a standard method. Not a big issue in most cases but have a look at : 

private async Task SendMessages(IEnumerable&lt;TcpClient&gt; clients, string message)


This one has no await too.

Hope this helps !