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

VB 6 et antérieur Discussion :

Socket SendData n'envoi que a un client


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut Socket SendData n'envoi que a un client
    Bonjour,
    Je poste un message pour un problème de SOCKET en Visual Basic 6.
    Ce problème survient sur un logiciel de chat, le serveur est OK, les client peuve parler entre eux, tout le monde recoit bien le message ! Je souhaite que le serveur puise aussi envoyer des messages. J'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub SendMsg_Click()
    For k = 0 To TailleTab - 1
        SckChat(Users(k, 0)).SendData "Admin > " & ChatText.Text
    Next k
    DialChat.Text = DialChat.Text & "Admin > " & ChatText.Text & vbCrLf
    End Sub
    Il envoi le message a un seul client, je me suis dit que je devais tester les indices du socket, donc j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub SendMsg_Click()
    For k = 0 To TailleTab - 1
        MsgBox Users(k, 0)
        SckChat(Users(k, 0)).SendData "Admin > " & ChatText.Text
    Next k
    DialChat.Text = DialChat.Text & "Admin > " & ChatText.Text & vbCrLf
    End Sub
    Et ben devinez quoi ??? Vous trouvez pas ??? Tout les client reçoives bien le message , grâce au MsgBox.

    Je ne ces pas si c'est du a une répétition trop rapide des l'envoi de message ou ...
    Avez vous une solution a mon problème ?
    Je vous remercie grandement d'avance de vos réponses

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    tu utilises quel protocole de communication ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut
    J'utilise sa pour ouvrir le socket :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SckChat(0).LocalPort = 2228
    SckChat(0).Listen
    Donc ce qui est pris par défaut (Je c'est pas ce qui est pris par défaut a mon avis TCP )
    Merci

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Met un petit temps d'attente derrière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SckChat(Users(k, 0)).SendData "Admin > " & ChatText.Text
    en utilisant GetTickCount et DoEvents

    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut
    J'ai rajouter cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim lgTime As Long
    lgTime = GetTickCount
    Do While lgTime + lgMSec > GetTickCount
        DoEvents
        DoEvents
        DoEvents
    Loop
    Mais... (dsl), sa ne change rien. Le plus étonnant c'est que j'utilise la même chose quand le message provient d'un client. Et cela fonctionne parfaitement. Je ne comprend pas.

    Merci d'avoir éditer mon code maintenant je c'est mettre le code en valeur

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/05/2008, 14h52
  2. [NIO] envoie d'image à plusieurs client via socket
    Par robert_trudel dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 01/10/2006, 23h11
  3. Réponses: 72
    Dernier message: 05/12/2005, 10h45
  4. [socket] probleme d'envoi de fichier
    Par soulhouf dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 21/10/2005, 16h15
  5. Envoi fichier pdf au client
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 3
    Dernier message: 01/06/2005, 12h00

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