/// <summary> /// Handle the client registration /// </summary> /// <param name="socket"></param> /// <param name="nickname"></param> /// <param name="rawMessage"></param> /// <returns></returns> public async Task <string> Handle(WebSocket socket, string nickname, string rawMessage) { var result = ""; if (!IsValidNickName(rawMessage)) { result = ServerMessageConstants.GetMessage(ServerMessageConstants.NICKNAME_INVALID, rawMessage); await _socketHandler.SendMessage(socket, result); return(result); } if (_connectionManager.IsNickNameExists(rawMessage)) { result = ServerMessageConstants.GetMessage(ServerMessageConstants.NICKNAME_ALREADY_TAKEN, rawMessage); await _socketHandler.SendMessage(socket, result); return(result); } if (_connectionManager.RegisterNickName(socket, rawMessage)) { result = ServerMessageConstants.GetMessage(ServerMessageConstants.SUCCESSFULLY_REGISTERED, rawMessage); await _socketHandler.SendMessage(socket, result); var message = ServerMessageConstants.GetMessage(ServerMessageConstants.JOINED_GENERAL_CHANNEL, rawMessage); await _socketHandler.SendMessageToAll(message); } return(result); }
/// <summary> /// Handle the message /// </summary> /// <param name="socket"></param> /// <param name="nickname"></param> /// <param name="rawMessage"></param> /// <returns></returns> public async Task <string> Handle(WebSocket socket, string nickname, string rawMessage) { var message = ServerMessageConstants.GetMessage(ServerMessageConstants.GENERAL_MESSAGE, nickname, rawMessage); await _socketHandler.SendMessageToAll(message); return(message); }