Utworzyłem wątek. Wszystko się kompiluje.
W wątku tym odbieram wiadomości z gniazda, a raczej próbuję odbierać bo nie działa funkcja ,,recvfrom'' ponieważ zwraca ,,n<0'' co oznacza że wystąpił w niej błąd. Funkcja wątku wygląda tak:
Kod: Zaznacz cały
void InterfejsGniazdaPulapek::nasluch_i_odbior_pulapek()
{
   int gniazdoPulapek, n;         //tu przygotowuje zmienne glownie dla funkcji recvfrom
   struct sockaddr_in struktura, strukturaBind;
   char buforPulapek[1600];
   socklen_t wielkoscStrukturyPulapek;
   gniazdoPulapek = socket(AF_INET, SOCK_DGRAM, 0);         //tworze gniazdo UDP
   memset(&struktura, 0, sizeof(struktura));         //zeruje wstepnie struktury
   memset(&strukturaBind, 0, sizeof(strukturaBind));
   strukturaBind.sin_family = AF_INET;         //wypelniam strukture
   strukturaBind.sin_addr.s_addr = htonl(INADDR_ANY);
   strukturaBind.sin_port = htons(162);
   bind(gniazdoPulapek, (sockaddr *)&strukturaBind, sizeof(strukturaBind));   //binduje gniazdo
   for (; ;)
   {
      n = recvfrom(gniazdoPulapek, buforPulapek, sizeof(buforPulapek), 0, (sockaddr *)(&struktura), &wielkoscStrukturyPulapek);   //tu wlasnie funkcja recvfrom zwraca n<0
      if (n < 0)   //ten przypadek zachodzi i wyswietla   error n<0
         std::cout << std::endl << "error n<0";
      else   // to sie nie wykonuje
      {
       costam
      }
   }
}
Co jest nie tak?