Exemple #1
0
        public Models.Response processNewChatMessage(Models.ClientMessage message, Socket sender)
        {
            Models.Response response = new Models.Response(sender);

            response.socketsToNotify                 = lobbyRoomData.lobbyRoomUsersToSocketList();
            response.responseCommandToSockets        = message.Command;
            response.commandStringArgumentsToSockets = message.stringArguments;

            return(response);
        }
Exemple #2
0
        public Models.Response processLogInRequest(Models.ClientMessage message, Socket sender)
        {
            Models.Response response = new Models.Response(sender);

            // message.Arguments[0] = username
            // message.Arguments[1] = password

            // check log in information
            if (_db.checkLogInCredentials(message.stringArguments[0], message.stringArguments[1]))
            {
                // check if user is already logged in
                if (_lobbyRoomData.checkUserLoggedIn(message.stringArguments[0]))
                {
                    response.responseCommandToSender = "ALREADYLOGGEDIN";
                }
                else
                {
                    // add user to list of logged in users
                    string nickname = _db.getNickNameOfUser(message.stringArguments[0]);
                    _lobbyRoomData.addUserToLoggedIn(message.stringArguments[0], nickname, sender);

                    // send log in confirmation message
                    response.responseCommandToSender = "LOGINPERMITTED";

                    // update every logged in user's lobby room
                    response.responseCommandToSockets = "ADDLOBBYROOMUSER";
                    response.commandStringArgumentsToSockets.Add(nickname);

                    response.socketsToNotify = _lobbyRoomData.lobbyRoomUsersToSocketList();
                    response.socketsToNotify.Remove(sender);
                }
            }
            else
            {
                response.responseCommandToSender = "LOGINDENIED";
            }

            return(response);
        }