Exemplo n.º 1
0
        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}");
                }
            }
        }
Exemplo n.º 2
0
 public void SendMessage(string message) => chat.Send(message);