sto iniziando ad entrare nel mondo dei socket linux, ma in questo codice:
il binding fallisce sempre, restituendo come errore "99" : EADDRNOTAVAIL: A nonexistent interface was requested or the requested address was not local.codice:#include <sys/types.h> #include <sys/socket.h> #include <iostream> #include <string> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> using namespace std; int main() { //creazione socket int sockid; if ((sockid=socket(AF_INET,SOCK_STREAM,0))<0) cout<<"errore creazione\n"; else cout<<"socket: "<<sockid<<endl; //creazione struttura sockaddr indclient; indclient.sa_family=AF_INET; strncpy(indclient.sa_data,"QUALSIASI INDIRIZZO IP",sizeof(indclient.sa_data)-1); cout<<"address: "<<indclient.sa_data<<endl; //binding bind(sockid, (struct sockaddr *) &indclient, sizeof(struct sockaddr)); cout<<"errore di bind() "<<errno; }
ho provato ad inserire diversi indirizzi ip, persino quello della macchina su cui è eseguito il programma, ma l'errore si presenta sempre.
(l'indirizzo ip lo ottengo da qui: http://www.indirizzo-ip.com/ )

Rispondi quotando