private static async Task Receive(Client client) { await Task.Run(() => { client.Name = TcpSocketHelper.ReceiveString(client.Socket); string message = $"{client.Name} connected!"; Console.WriteLine($"{DateTime.Now}: {message}"); SendToEveryone(message, client); while (true) { try { string str = TcpSocketHelper.ReceiveString(client.Socket); Console.WriteLine($"{DateTime.Now}: {client.Name}: {str}"); message = $"{client.Name}: {str}"; SendToEveryone(message, client); } catch (Exception e) { message = $"{client.Name} disconnected!"; Console.WriteLine($"{DateTime.Now}: {message}"); Connections.Remove(client); SendToEveryone(message, client); client.Socket.Shutdown(SocketShutdown.Both); client.Socket.Close(); return; } } }); }
private static async Task Listen() { await Task.Run((() => { try { while (true) { var str = TcpSocketHelper.ReceiveString(socket); Console.WriteLine(str); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Close(); } })); }