infatti penso che il problema sia nella funzione initConnection.
quel prontf nn viene stampato.
ho trovato però il punto:
codice:
void Server::initConnection() {
cout << "SERVER STARTED. PRESS ENTER TO EXIT" << endl;
socklen_t clilen;
char buffer[256];
struct sockaddr_in local;
struct sockaddr_in from;
int port = 20248;
bzero((char *) &local, sizeof (local));
local.sin_family = AF_INET;
local.sin_addr.s_addr = INADDR_ANY;
local.sin_port = htons(port);
socketServer = socket(AF_INET, SOCK_STREAM, 0);
listen(socketServer, 5);
clilen = sizeof (from);
char c = getchar();
if (c == 10) { // FUNZIONA
exit(0);
}
socketInAscolto = accept(socketServer, (struct sockaddr *) &from, &clilen);
cout << "NON VIENE STAMPATO" << endl;
sprintf(buffer, "YOUR IP IS: %s", inet_ntoa(from.sin_addr));
send(socketInAscolto, buffer, strlen(buffer), 0);
cout << "CONNECTION FROM " << inet_ntoa(from.sin_addr) << endl;
}
l'ho messo nei commenti.
penso dipenda dal fatto che nn ci siano connessioni.
però in teoria uno dovrebbe poter terminare il programma lo stesso a prescindere.
qualche suggerimento?