sto iniziando ad entrare nel mondo dei socket linux, ma in questo codice:
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;
}
il binding fallisce sempre, restituendo come errore "99" : EADDRNOTAVAIL: A nonexistent interface was requested or the requested address was not local.
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/ )