View Single Post
Old 24-10-2006, 15:52   #7
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Cittā: Palermo
Messaggi: 1079
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.
Abdujaparov č offline   Rispondi citando il messaggio o parte di esso