03
Oct
09

red5 appConnect()

 

red5 appConnect :

voici une fonction RED5, de connexion et de gestion des users entrant sur le chat.

 

public boolean appConnect( IConnection conn , Object[] params ){
    Map properties = conn.getConnectParams();
    String ip = (String)conn.getRemoteAddress( );
    String agent = (String)properties.get( "flashVer" );
    String referrer = (String)properties.get( "swfUrl" );        

    if (params == null || params.length != 7) {
        log.info("*REJECT "+params.length);
        rejectClient("Client must pass 7 param !.");
        return false;
    }

    String id = params[0].toString();
    String username = params[1].toString();
    String room =params[2].toString();
    String role =params[3].toString();
    String webcam =params[4].toString();
    String status =params[5].toString();
    String color =params[6].toString();
    if (bannedUsers.containsKey(username)==true) {
        rejectClient("BANNED");
        return false;
    }
    User newUser = new User(id,username,room,webcam,status,color,role,ip);
    if (sameUserInDifferentRooms==false) {
        if (usersByName.containsKey(username)) {
            log.info("Error: username "+username+" already used.");
            rejectClient("Error: username "+username+" already used.");
            return false;
        }
    }
    conn.getClient().setAttribute("user", newUser);
    usersByName.put(username,newUser);
    return true;
}

 

L’astuce consiste à remplir l’attribut “user” à la connexion en cours


0 Responses to “externalInterface et Firefox”


  1. No Comments

Leave a Reply