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

Windows Forms Discussion :

récupération d'un socket dans un autre formulaire


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut récupération d'un socket dans un autre formulaire
    Bonjour,

    je suis en train de développer une application où je connecte un client et un serveur avec les sockets, ça fonctionne mais le problème c'est qu'ensuite j'ouvre un nouveau formulaire et c'est dans celui-ci que j'envoie et reçois les données échangés mais mes fonctions BeginSend et BeginReceive ne veulent pas fonctionner car on me dit que le socket n'est pas connecté.
    Donc le problème viendrait donc que le socket déclaré dans le deuxième formulaire ne prendrais pas la "valeur" de celui du premier formulaire.

    Voilà, si quelqu'un pourrait m'aider ? =)

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    il faut généralement éviter de tout placer dans ta classe Form (sauf si c'est vraiment un tout petit petit projet qui n'évoluera pas). Une Form est supposée gérer l'interaction avec l'utilisateur (affichage/Controles d'entrée) et non tout gérer!!!

    Si tu veux continuer à faire crade, rend ton socket statique.

    Sinon, tu devrais créer une classe qui gere la communication, l'instancier avant de créer une Form, puis quand tu crée une Form lui passer comme parametre cet objet. Ainsi tes Form se partageront cet objet de communication.

    Mieux encore utiliser le pattern View/Presenter. Tu as des tutos ici à ce sujet.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    il y a juste la notion d'instancier la classe de communication que j'ai pas vraiment compris (même si je vais chercher) mais sinon je retiens l'idée
    merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    quand tu crée un objet, on dit que tu instancie sa classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Maclasse obj = new MaClasse();
    tu instancie MaClasse

    En gros ce que je te disais c'etait quelquechose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ComSocket com = new ComSocket();
    MaForm form1 = new Form(com);
    MaForm form2 = new Form(com);
    sinon le pattern View/Presenter : http://jab.developpez.com/tutoriels/dotnet/mvppattern/

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2006, 09h26
  2. Réponses: 1
    Dernier message: 04/05/2006, 09h26
  3. uploader une image dans un autre formulaire
    Par jonathan.ohayon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 03/05/2006, 23h04
  4. Réponses: 8
    Dernier message: 21/04/2006, 15h27

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