private static async Task StartChat(ClientService clientService, string userName, int portNo) { using (var socket = new ClientWebSocket()) { try { await clientService.Connect(socket, Connection + ":" + portNo); var input = userName + " connected!"; ChatMessage chatMessage = new ChatMessage() { User = "", Message = input }; await clientService.Send(socket, chatMessage); Console.WriteLine("Type leaveChat for exit!"); chatMessage.User = userName; bool exit = false; do { await ClientChat.Receive(socket); input = Console.ReadLine(); switch (input) { case "leaveChat": chatMessage.Message = userName + " disconnected!"; await clientService.Send(socket, chatMessage); await clientService.Disconnect(socket, chatMessage.Message); exit = true; break; case "": case "exit": break; default: chatMessage.Message = input; await ClientChat.Send(socket, chatMessage); break; } } while (!exit); } catch (Exception ex) { Console.WriteLine($"ERROR - {ex.Message}"); } } }
public void SendMessage(string message) => chat.Send(message);