Kod:
int main()
{
sockaddr_in adr_serwer, adr_client;
int serwer_fd, client_fd, yes = 1;
unsigned int sinsize;
if((serwer_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
cout << "\n\aSOCKET";
return -1;
}
else
cout << " SOCK OK";
if((setsockopt(serwer_fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int))) == -1)
{
cout << "\n\aSETSOCKOPT";
return -1;
}
else
cout << " SETSOCKOPT OK";
adr_serwer.sin_family = AF_INET;
adr_serwer.sin_addr.s_addr = INADDR_ANY;
adr_serwer.sin_port = htons(7801);
memset(&(adr_serwer.sin_zero ), '\0', 8 );
if((bind(serwer_fd, (sockaddr*)&adr_serwer, sizeof(sockaddr))) == -1)
{
cout << "\n\aBIND";
return -1;
}
else
cout << " BIND OK";
//tutaj
cout << "TO JUŻ SIĘ NIE WYŚWIETLA";
if(listen(serwer_fd, 1) == -1)
{
cout << "\nLISTEN";
return -1;
}
return 0;
}
Wynik: SOCK OK SETSOCKOPT OK BIND OK
Pisze na linuksie. Dlaczego program zatrzymuje się w miejscu //tutaj? "TO JUŻ SIĘ NIE WYŚWIETLA" nie zostaje wyświetlone. Proszę o pomoc.