Per definire un socket uso questo codice lato server:
Codice PHP:
WSADATA wsadata;
int risultato= WSAStartup(MAKEWORD(2, 2), &wsadata);
if (risultato!= NO_ERROR) {
ShowInfo("Errore WSAStartup()!\n");
return false;
}
SOCKET socketparent= socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (socketparent== INVALID_SOCKET) {
ShowInfo("Errore INVALID_SOCKET!\n");
return false;
}
sockaddr_in socketserver;
socketserver.sin_family= AF_INET;
socketserver.sin_addr.s_addr= inet_addr("127.0.0.1");
socketserver.sin_port= htons(parent->fileiniserver->sockettcp);
if (bind(socketparent, (SOCKADDR*)& socketserver, sizeof(socketserver))== SOCKET_ERROR) {
ShowInfo("Errore Bind()!\n");
return false;
}
if (listen(socketparent, 1)== SOCKET_ERROR) {
ShowInfo("Errore listen()!\n");
return false;
}
funziona ma purtroppo il programma accetta connessioni soltanto se il client punta l'indirizzo "127.0.0.1" (quindi mi funziona da localhost), ma non dalla rete.
Cosa sto sbagliando?
E' possibile ottenere l'elenco delle interfaccie di cui il pc dispone e decidere su quali attivare il socket?
Grazie mille, Denis.