Ciao a tutti, sono in fase di test del mio progetto e ho trovato un errore veramente strano. Facendo il debug mi sono accorto che la funzione che crea una socket fallisce sempre. In particolare le chiamate a bind() e listen() restituiscono sempre -1, nonostante tutti gli argomenti siano corretti! Vi incollo un po di codice:
Spero possiate darmi una mano! Vi ringrazio!codice:int creaSock(char* path){ struct sockaddr_un sad; int mySocket, len; //controlli sul path tutti corretti. mySocket = socket(AF_UNIX, SOCK_STREAM, 0); if(mySocket < 0) return -1; sad.sun_family = AF_UNIX; strncpy(sad.sun_path, path, strlen(path)); len = sizeof(sad); //tutte e due le funzioni falliscono, ho provato a dividere questo if mettendo prima la listen e poi bind, //stesso risultato if ( (bind(mySocket, (struct sockaddr *)&sad, len) < 0) || (listen(mySocket, SOMAXCONN))<0){ return -1; } return mySocket; }

Rispondi quotando