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 :

Probleme de socket


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Par défaut Probleme de socket
    j'ai une application serveur qui attend la reception de données, mais lorsque elle les recois elle n'atend pas la fin pour passer a la ligne de commande suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                    Int32 port = 13000; // selection du port
                    IPAddress localAddr = IPAddress.Parse("127.0.0.1");
                    server = new TcpListener(localAddr, port);
                    server.Start(); // debut de lecoute du port
                    byteCount = _socket.Receive(bytes, SocketFlags.None); // recuperation des bytes reçu
                    Donnees_Ressu = Encoding.UTF8.GetString(bytes);
                    server.Stop();// arrete l'ecoute du client.
    La methode _socket.Receive bloque jusqu'a ce qu'elle recoivent des donnée, mais mon application client envoie beaucoup d'information et la methode _socket.Receive n'attend pas la fin de la reception, les information reçu sont donc inutilisable.

    comment faire?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 388
    Par défaut
    D'où sort ta variable _socket? A mon avis il te manque un appel à la méthode accept ou alors tu as oublié de mettre la ligne.

    A voir aussi:
    Vérifie la taille de ton tampon de réception (receive buffer ou quelque chose comme ça) par rapport à la taille des données que tu envoies.
    Ton tampon doit être au moins aussi grand que les données que tu reçois ou alors tu peux faire plusieurs _socket.Receive.

    Sinon des suggestions pour rendre ton code plus propre:
    _ Vérifie que ta variable byteCount est supérieure à zéro
    _ Met un try catch autour de ces lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        byteCount = _socket.Receive(bytes, SocketFlags.None);
        Donnees_Ressu = Encoding.UTF8.GetString(bytes);
    Il y a beacoup d'exceptions au niveau des sockets (rupture de connexion,...) et des conversions (mauvais type)

Discussions similaires

  1. Probleme client socket
    Par BOUBOU81 dans le forum C++Builder
    Réponses: 7
    Dernier message: 19/04/2010, 21h03
  2. Problemes des Sockets
    Par hinda dans le forum MFC
    Réponses: 1
    Dernier message: 14/06/2006, 16h03
  3. [VB6] Probleme de socket
    Par johnson95 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/06/2006, 09h39
  4. Probleme de socket
    Par Pragmateek dans le forum C++
    Réponses: 14
    Dernier message: 11/03/2006, 22h37
  5. [Debutant] Probleme connection socket
    Par sorry60 dans le forum Réseau
    Réponses: 38
    Dernier message: 12/11/2005, 11h46

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