Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SFML 2.0 - Selector

Ostatnio zmodyfikowano 2015-04-30 22:48
Autor Wiadomość
BartQ
Temat założony przez niniejszego użytkownika
SFML 2.0 - Selector
» 2015-04-28 19:49:42
Nie wiem co robię źle - mam problem z selectorem na sockecie UDP. Gdy uruchamiam program zamiast czekać 10 sekund od razu zwraca "timeout" czyli false w tym warunku:
if( selector.wait( sf::seconds( 10 ) ) )

reszta kodu...wiem, że powód jest pewnie błahy ale go nie widze

C/C++
#include <SFML/Network.hpp>
#include "network.h"
#include <iostream>
#include <string>


getClientsStruct receiveClientIfno()
{
    getClientsStruct ClientInfo;
    sf::UdpSocket searchSocket;
    char dataReceived[ 100 ];
    std::size_t received;
    sf::IpAddress sender;
    unsigned short portReceive;
   
    sf::SocketSelector selector;
    selector.add( searchSocket );
   
    // bind the socket to a port
    if( searchSocket.bind( 54000 ) != sf::Socket::Done )
    {
        std::cout << "ERROR binding" << std::endl;
    }
    else
         std::cout << "BIND success" << std::endl;
   
   
    if( selector.wait( sf::seconds( 10 ) ) )
    {
        if( searchSocket.receive( dataReceived, 100, received, sender, portReceive ) != sf::Socket::Done )
        { // error...
            std::cout << "Receive ERROR" << std::endl;
        }
       
       
       
        std::cout << "Received " << received << " bytes from " << sender << " on port " << portReceive << std::endl;
    }
    else
         std::cout << "timeout..." << std::endl;
   
    return ClientInfo;
}
P-131565
DejaVu
» 2015-04-30 22:48:47
Protokół UDP jest bezpołączeniowy, więc selectory nie działają. Więcej informacji w tutorialu SFML-a lub na forum SFML-a:
http://en.sfml-dev.org/forums​/index.php?topic=3160.0
P-131665
« 1 »
  Strona 1 z 1