Pisze program do zdalnej kontroli komputera który działa w tle i w swoim programie mam taką pętle:
char buf[1024];
SOCKET sock;
sockaddr_in dest_addr;
int s=sizeof(sockaddr);
for(;;)
{
if (recvfrom(sock,buf,1024,0,(sockaddr*)&dest_addr,&s)!=-1)
{
// funkcje
}
}
Zauważyłem że recvfrom nie sprawdza czy w buforze są dane tylko bezpośrednio odczytuje.
No i jeśli program ma działać w tle to najlepiej żeby jak najmniej obciążał procesor a w tym wypadku cały czs wykonywana jest instrukcja if.
Jak zrobić żeby recvfrom sprawdzało czy w buforze są dane do odczytu?