Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Vivien

Pages: [1]
1
Réseau / Re : SFML NETWORK Erreur status du stocket
« le: Janvier 31, 2015, 11:41:49 pm »
D'accord je vais réessayer avec Sfml 2.2.

2
Réseau / SFML NETWORK Erreur status du stocket
« le: Janvier 31, 2015, 04:59:34 pm »
Bonjour,

Essayant de comprendre le module réseau avec SFML 2.1 en TCP, j'ai réalisé un bout de programme pour tester.

Mais le sf::Socket::Status retourne 3 ce qui correspond à la variable Error (http://www.sfml-dev.org/documentation/2.1-fr/classsf_1_1Socket.php)

Le stocket à comme destinataire mon propre ordinateur.

Donc avez vous une idée d'ou cela peut provenir?

#include <SFML/SFML/Network.hpp>
#include <iostream>
using namespace sf;

void client_run();
void serveur_run();

int main()
{
    std::cout<<"Start\n1=client\n2=serveur\nVotre choix:";
    int client_ou_serveur(0);
    std::cin>>client_ou_serveur;
    if (client_ou_serveur == 1)
    {
        client_run();
    }
    else if (client_ou_serveur == 2)
    {
        serveur_run();
    }

    return EXIT_SUCCESS;
}

void client_run()
{
    std::cout<< "Entrer dans client.\n";

    sf::TcpSocket socket;
    sf::Socket::Status status = socket.connect(sf::IpAddress::LocalHost ,53003, sf::seconds(5));
    if (status != sf::Socket::Done)
    {
        std::cout<< "Erreur de status du stocket.\n" << status << std::endl;
        //ici status = 3
    }

    char data[10] = "123456789";

    if (socket.send(data, 10) != sf::Socket::Done)
    {
        std::cout<< "Erreur d'envoie du stocket.\n";
    }


    std::cout<< "Sortie de client.\n";
}
void serveur_run()
{
    std::cout<< "Entrer dans serveur.\n";

    sf::TcpListener listener;

    if (listener.listen(53000) != sf::Socket::Done)
    {
        std::cout<< "Erreur de du listener à listen.\n";
    }

    sf::TcpSocket client;
    if (listener.accept(client) != sf::Socket::Done)
    {
        std::cout<< "Erreur de du listener à accept.\n";
    }

    char data[10];
    std::size_t received;

    if (client.receive(data, 10, received) != sf::Socket::Done)
    {
        // erreur...
    }
    std::cout << "Received " << received << " bytes" << std::endl;

    std::cout<< "Sortie de serveur.\n";
}
Merci d'avance de votre aide.

Pages: [1]