04/12/13 22:43
Valcars
Salve a tutti è da tanto che non scrivevo qui ma rieccomi a lamentarmi ....
stavo creando un Client/Server su linux che però lo volevo compilarte sia su linux che su windows beh il mio problema è questo ho scritto i file con degli header creati da me e quando compilo il programma su linux non mi da nessun errore e gira perfettamente invece dopo aver compilato gli stessi file su windows (senza aver riscontrato errore) quando vado ad avviare il programma da terminale mi dice Errore durante il Bind() <--- Ovviamnente quello è il messaggio di errore che ho scritto io cmq vi provo a postare il codice perchè ragazzi non so dove sto sbagliando
File Header:
File server.c
stavo creando un Client/Server su linux che però lo volevo compilarte sia su linux che su windows beh il mio problema è questo ho scritto i file con degli header creati da me e quando compilo il programma su linux non mi da nessun errore e gira perfettamente invece dopo aver compilato gli stessi file su windows (senza aver riscontrato errore) quando vado ad avviare il programma da terminale mi dice Errore durante il Bind() <--- Ovviamnente quello è il messaggio di errore che ho scritto io cmq vi provo a postare il codice perchè ragazzi non so dove sto sbagliando
File Header:
wlsock.h char *ip; struct sockaddr_in service, service2; int m_socket; int c_socket; int c; #ifdef __unix__ #include <sys/socket.h> #include <sys/types.h> #include <arpa/inet.h> #elif defined(_WIN32) || defined(WIN32) #define SO_WINDOWS #include "winsock2.h" WSADATA wsaData; WORD wVersionRequested; int wsaerr; #endif
File server.c
#include <stdio.h> #include "wlsock.h" #define Mes printf int main() { int a; Mes("Messaggio benvenuto... \n"); #ifdef SO_WINDOWS //Verifichiamo se c'è la libreria e la dll del winsock wVersionRequested = MAKEWORD(2,2); wsaerr = WSAStartup(wVersionRequested, &wsaData); if(wsaerr != 0) { Mes("La DLL della winsock non e' stata trovata \n"); return 0; } if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { Mes("La DLL non supporta questa versione di Winsock \n"); return 0; } #endif //Creazione Della Socket m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(m_socket ==-1) { Mes("Errore durante la creazione del Socket()! \n"); return 0; } //Settiamo la struttura sockaddr_in service.sin_family = AF_INET; service.sin_port = htons(2106); service.sin_addr.s_addr = inet_addr("127.0.0.1"); //Funzione Bind if(bind(m_socket,(struct sockaddr*) &service, sizeof(service)) < 0) { Mes("Errore durante la funzione Bind()! \n"); return 0; } //Funzione Listen listen(m_socket, 3); //Accetta la connessione Mes("Attendere la connessione.... \n"); while(1) { //c = sizeof(struct sockaddr_in); c_socket = accept(m_socket, NULL, NULL); //(struct sockaddr*) service2,(socklen_t*)&c); if(c_socket < 0) { Mes("Connessione non Accettata! \n"); return 0; } else { Mes("Connessione Avvenuta con Successo! \n"); return 0; } } return 0; }
Ultima modifica effettuata da Valcars 04/12/13 22:48
aaa