Ah quello che voglio fare non lo so :-) io cercavo di copiare e capire quello che combina la msdn ma non č che l'abbia capito, quei due puntatori posti a null non saprei a che servono dopo che poi dichiara hints ed usa solo quello (nella msdn).
Il mio pezzo di codice č breve č solo all'inizio, cerco di andare passo passo per capire come e cosa si fa:
Codice:
int _tmain(int argc, _TCHAR* argv[])
{
//Questa struttura conterrā informazioni sull'implementazione
//delle windows socket
WSADATA wsaData;
int iResult;
const int porta =16108;
SOCKET ListenSocket = INVALID_SOCKET, ClientSocket = INVALID_SOCKET;
struct addrinfo *result = NULL,
*ptr = NULL, hints;
// Inizializzazione del winsock
//WSAStartup ritorna un errore per verificare se vi sono stati errori
//MAKEWORD traduce la richiesta per la versione di winsock presente nel sitema
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
cout<<"Impossibile inizializzare il socket: "<<iResult<<endl;
//printf("WSAStartup failed: %d\n", iResult);
return 1;
}
//altro controllo d'errore sull'inizializzazione delle winsock
if ( LOBYTE( wsaData.wVersion ) != 2 ||HIBYTE( wsaData.wVersion ) != 2 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
cout<<"Non č stata trovata una versione valida delle dll winsock"<<endl;
WSACleanup( );
return 1;
}
//WINSOCK VALIDE SI PUO' PROSEGUIRE
ListenSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
Sto seguendo la guida passo passo e sono arrivato solo alla creazione del socket, il resto ancora devo scoprirlo ed ho giā tanta paura.
Grazie, ciao ciao.