Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Bloqué sur la reception d'un paquet.  (Lu 2075 fois)

0 Membres et 1 Invité sur ce sujet

azfboom

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Bloqué sur la reception d'un paquet.
« le: Septembre 11, 2015, 05:46:50 pm »
Bonjour à tous,
Dans le but de créer facilement un client j'utilise sfml.
J'ai donc un code qui me connecte au serveur et qui doit recevoir un message en bytes.
Seulement au moment de recevoir le thread se bloque et je ne sais pas d'où cela provient :
void recpetion()//receptionner des données en bytes
{
char data[taille_max];
size_t received;
sf::Packet packet;

string message;
// socket TCP:

if (socket.receive(packet) != sf::Socket::Done){ //bloque ici
        printf("Fail\n");
}
else {
        if (packet >> message)
        {
                cout << "la\n";
                cout << message;
                // ok
        }
        else
        {
                // erreur, échec de lecture de la variable 'x' depuis le paquet
        }
}
 

Merci d'avance

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bloqué sur la reception d'un paquet.
« Réponse #1 le: Septembre 11, 2015, 06:19:11 pm »
Est-ce que le serveur utilise aussi SFML et la classe sf::Packet ?
Laurent Gomila - SFML developer

azfboom

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bloqué sur la reception d'un paquet.
« Réponse #2 le: Septembre 11, 2015, 06:27:53 pm »
Non c'est un serveur fait par mon prof qui nous a donné le .exe.
Ca viendrait de là ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bloqué sur la reception d'un paquet.
« Réponse #3 le: Septembre 11, 2015, 08:28:54 pm »
Oui, comme expliqué dans le tutoriel concernant sf::Packet.

sf::Packet possède son propre protocole et ne peut communiquer qu'avec d'autres sf::Packet (pour les sockets TCP tout du moins).
Laurent Gomila - SFML developer

azfboom

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bloqué sur la reception d'un paquet.
« Réponse #4 le: Septembre 12, 2015, 03:37:50 pm »
Ah mince j'ai pas du faire attention à cet partie.
Du coup est il possible d'utiliser un buffer ? Et si oui comment faire ?
Merci d'avance.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bloqué sur la reception d'un paquet.
« Réponse #5 le: Septembre 12, 2015, 04:28:57 pm »
Il suffit de ne pas utiliser sf::Packet. Regarde les tutos et la doc si tu ne sais pas comment faire.
Laurent Gomila - SFML developer

azfboom

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bloqué sur la reception d'un paquet.
« Réponse #6 le: Septembre 12, 2015, 04:42:17 pm »
Ok merci pour l'aide apportée.