IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Création d'objet dynamique.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Par défaut Création d'objet dynamique.
    Bonjour,
    Je suis sur un soft de messagerie instantanée.
    Les users peuvent choisir de joindre des chatroom. Cependant, les "room" sont des objets.
    Comment puis-je dynamiquement créer plusieurs mêmes objets ?
    Ci joint le bout de code permettant de créer l'objet "room" et de rejoindre la chatroom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var roomName = "X";
                    var serverName = "X";
                    var userName = jc.User;
                    var jid = new jabber.JID(roomName, "conference." + serverName, userName);
                    Room room = r.GetRoom(jid);
                    room.OnJoin += new RoomEvent(room_OnJoin);
                    room.Join();
    Je pensais faire une fonction prenant en parametre le "roomName" de la chatroom à rejoindre mais du coup la variable "room" resterait la même ce qui ecraserait la chatroom créée précedemment... ( ça fait bcp de room dans la même phrase ahah)

    J'espère que mes explications sont claires.

    talkk

  2. #2
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Mais ta room doit être commune à tous les utilisateurs qui y participent. J'entend par la que l'instance de la Room doit être identique, il ne faut créer une nouvelle room à chaque connexion.


    A l’initialisation du programme, toutes les Rooms doivent probablement être créé, et, à chaque fois qu'un utilisateur cherche à s'y connecter, il récupère l'instance de la room en question.


    Ou c'est la Room qui reçoit une instance de l'utilisateur et celui-ci ne fait que s'inscrire à des événements.


    D'ailleur, en terme d'architecture, je ne suis pas sur qu'il soit bien que l'utilisateur ait une instance de la Room, et que la Room ait une instance de l'utilisateur, cela dit c'est à confirmer

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Par défaut
    En fait, la chatroom est créée et existe sur un serveur local.
    La classe "Room" sert à me connecter a cette chatroom.
    Donc pour rejoindre une chatroom je dois procéder de la façon montrée au dessus : créer un objet Room, indiquer les paramètres de connexion et la rejoindre.
    Donc si je ne rejoins qu'une chatroom, il n'y a pas de pb car je ne créé qu'un objet Room appelé "room1" par exemple.
    Mais dans le cas présent, l'user doit se connecter a plusieurs chatrooms au démarrage de l'application, donc je cherche un moyen de créé dynamiquement plusieurs objet Room en fonction des chatrooms auxquels veut se connecter l'user.

  4. #4
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Si je comprend bien çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var jid = new jabber.JID(roomName, "conference." + serverName, userName);
    Te donne l'identifiant ainsi que la chatroom sur lequel il souhaite se connecter ?
    Ensuite tu passe cet identifiant à la Room, qui est se connecte à la Chatroom identifié par "roomName", c'est bien çà ?
    Et que devient l'objet Room ensuite ? Il est stocké dans quoi ?


    J'ai l'impression qu'il y a un problème de conception, d'après ce que tu sous entend, un utilisateur ne peut être connecté et ne connait qu'une seule Room, est ce qu'il ne devrait pas au contraire connaitre X Room ?

    Est ce que tu pourrais détailler un peu plus ta conception ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var roomName = "X";
                    var serverName = "X";
                    var userName = jc.User;
                    var jid = new jabber.JID(roomName, "conference." + serverName, userName);
                    Room room = r.GetRoom(jid);
                    room.OnJoin += new RoomEvent(room_OnJoin);
                    room.Join();
    En gros, ce bout de code ne me sert qu'a rejoindre la chatroom qui, elle, a été créée sur mon serveur de messagerie.
    Pour rejoindre une chatroom, je dois créer une instance d'objet Room ( ligne 5) qui s'appelle ici "room" ( un peu redondant, je l'avoue), qui prend en paramètres les données de connexion ( nom de la chatroom, le nom du serveur, et l'username ).

    Donc pour chaque chatroom que je souhaite rejoindre, je dois instancier une nouvelle fois l'objet Room.
    En gros réutiliser ce code en changeant la variable ligne 5 et les parametres ( roomName etc.. )

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Par défaut
    Petit up svp ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'objets dynamiquement et accès à un serveur
    Par NoviceJava dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 26/05/2007, 16h45
  2. [PowerBuilder] Création d'objets dynamiques
    Par Béné123456789 dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 00h33
  3. [VB.NET] Création d'objet dynamique
    Par Torkan dans le forum Windows Forms
    Réponses: 9
    Dernier message: 29/05/2006, 03h18
  4. création d'objets dynamique
    Par cilies38 dans le forum Langage
    Réponses: 10
    Dernier message: 06/03/2006, 18h43
  5. [FLASH MX2004] Création d'objet dynamiquement
    Par noarno dans le forum Flash
    Réponses: 3
    Dernier message: 15/12/2004, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo