Hey,
As I've learned in
http://www.sfml-dev.org/forum/viewtopic.php?t=5852 I need to have one boost thread for the UDP packets. And I did it. On my computer it works perfect, but on my Ubuntu 10.04 it always returns that the socket is not ready. It's not a problem with the client and I'm sure about that. The socket is not blocking, also on blocking it's not working. What's the problem here? Here's some code:
void UDPUser () {
int countIt = 0;
sf::SocketUDP Socket;
if (!Socket.Bind(2435))
{
// Error...
cout << "ERROR 97" << endl;
}
//Client.SetBlocking( false );
Socket.SetBlocking( false );
cout << "listen" << endl;
while(true) {
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...
cout << "error 107" << endl;
//return;
} else {
cout << "gpt" << endl;
}
}
}