Bonjour,
J'essaie de coder un truc de base, c'est à dire, mettre une socket en écoute pour un serveur.
Je fais ca sous code::block avec winsock.h (puisque y a pas socket.h parmi les includes)
ca donne ca:
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <winsock.h>
- int portServer; //port d'écoute de la socket
- int newSock; //notre socket
- void error(char *msg){
- perror(msg);
- exit(1);
- }
- int main(int argc,char *argv[]){
- struct sockaddr_in servAddr;
- if((portServer = atoi(argv[1])) <= 1024)
- error("Ports lower than 1024 forbidden !" );
- //création d'une socket
- if((newSock = socket(AF_INET,SOCK_STREAM,0)) < 0)
- error("can't create socket.." );
- servAddr.sin_family = AF_INET;
- servAddr.sin_addr.s_addr = INADDR_ANY;
- servAddr.sin_port = htons(portServer);
- //liaison avec le port
- if(bind(newSock,(struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)
- error("can't bind socket.." );
- listen(newSock,5);
- return 0;
- }
|
Le problème est qu'il refuse de me créer cette socket en me retournant une valeur inferieure à 0, il s'arrete à "can't create socket" et je vois pas pourquoi
Si vous aviez une idée..
Cdt,