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

[SFML] Problem z sf::SocketUDP

Ostatnio zmodyfikowano 2011-06-23 13:33
Autor Wiadomość
a3780459
Temat założony przez niniejszego użytkownika
[SFML] Problem z sf::SocketUDP
» 2011-06-23 11:52:08
Program oczekuje na pakiet:

C/C++
sf::SocketUDP Socket;
if( !Socket.Bind( 4567 ) )
{
    // Error...
}
char Buffer[ 128 ];
std::size_t Received;
sf::IPAddress Sender;
unsigned short Port;
if( Socket.Receive( Buffer, sizeof( Buffer ), Received, Sender, Port ) != sf::Socket::Done )
{
    // Error...
}
i w miejscu Socket.Receive... pojawia się mój problem - program oczekuje w nieskończoność. Jak sprawić, by program oczekiwał 1s, a potem np wyświetlił "nie otrzymano pakietu"?
P-34473
DejaVu
» 2011-06-23 12:57:11
http://www.sfml-dev.org/tutorials/1.2/network-sockets.php
http://www.sfml-dev.org/tutorials/1.2/network-packets.php
http://www.sfml-dev.org/tutorials/1.2/network-selector.php

W ostatnim rozdziale wklejonym masz chociażby coś takiego:
C/C++
bool ReceiveWithTimeout( sf::SocketTCP Socket, sf::Packet & Packet, unsigned int Timeout = 0 )
{
    sf::SelectorTCP Selector;
    Selector.Add( Socket );
   
    std::vector < sf::SocketTCP > Ready;
    if( Selector.GetSocketsReady( Ready, Timeout ) )
    {
        Socket.Receive( Packet );
        return true;
    }
    else
    {
        return false;
    }
}
P-34474
a3780459
Temat założony przez niniejszego użytkownika
» 2011-06-23 13:33:07
Tego akurat nie przeczytałem, mój błąd, przepraszam i  wielkie dzięki za pomoc...
P-34476
« 1 »
  Strona 1 z 1