PDA

View Full Version : problema con le winsock


shadeh
02-08-2006, 13:37
salve,
sto cercando di imparare ad usare le windows socket in C.Ho giā usato i socket in python e non ho avuto problemi,ma con le winsock,sebbene Dev-C++ non mi riporti nessun errore,quando avvio l'applicazione ed inserisco ip e porta,dopo alcuni secondi di vuoto totale mi compare la fatidica finestra che dice che si č verificato un errore e l'applicazione verrā chiusa.
Riporto il codice:


#include <winsock.h>
#include <stdlib.h>

char host[16];
int porta;

main() {
printf("Host:");
scanf("%s",host);
printf("Port:");
scanf("%d",porta);
struct sockaddr_in sock_addr;
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1,1),&wsaData) != NO_ERROR) {
printf("\nErrore.\n\n");
exit(0);
}
int sock = socket(AF_INET,SOCK_STREAM,0);
sock_addr.sin_family=AF_INET;
sock_addr.sin_port=htons(porta);
sock_addr.sin_addr.s_addr = inet_addr(host);
memset(&(sock_addr.sin_zero), '\0', 8);
if (connect(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr))==SOCKET_ERROR) {
printf("\nErrore.\n\n");
}
closesocket(sock);
WSACleanup();
system("pause");
return 0;
}

ilsensine
02-08-2006, 15:19
scanf("%d",porta);

scanf("%d", &porta);

shadeh
02-08-2006, 15:35
Caspita! Il classico errore di distrazione! Grazie 1000 e scusa il disturbo