private void Listen() { // в бесконечном цикле while (true) { // получаем сообщения от сервера и сохраняем их в очереди var message = GetMessage(); ReceivedMessages.Enqueue(message); OnReceiveMessageEvent?.Invoke(message); } }
private void HandleMessageForServer(string data) { var trData = JsonConvert.DeserializeObject <TransportData>(data); if (trData.type == TransportDataType.SERVER_COMMAND_LOGIN) { var command = ServerCommand.FromJson(trData.data); clientName = command.clientName; } else if (trData.type == TransportDataType.CHAT_MESSAGE) { OnReceiveMessageEvent?.Invoke(trData); } }
private void HandleMessageForClient(string data) { var trData = JsonConvert.DeserializeObject <TransportData>(data); if (trData.type == TransportDataType.EXIT) { server?.DisconnectUser(this); CloseConnection(); } else { OnReceiveMessageEvent?.Invoke(trData); } }