EagleOne33 | bein euuu ... en même tps y'en a pas d'autre sur lesquelles je puisse tester un retour.. Tous les retours sont testés regardes :
Code :
- /*************************************************************
- LE SERVEUR
- **************************************************************/
- #include <stdio.h>
- #include <iostream>
- #include <fstream>
- #include <string>
- /* includes de windows */
- #ifdef WIN32
- #include <winsock.h>
- typedef int socklen_t;
- //typedef unsigned int u_int32_t; /* utilisé par linux mais non défini dans winsock.h */
- #pragma comment(lib, "ws2_32.lib" )
- /* les includes de linux */
- #else
- #include <unistd.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <netdb.h>
- #include <sys/types.h>
- #define SOCKET_ERROR (-1)
- #define INVALID_SOCKET (-1) /* défini dans winsock.h */
- typedef struct sockaddr_in SOCKADDR_IN; /* idem */
- #endif
- using namespace std;
- #define LG_MAX_REQUETE 1024
- string creationReponse();
- void traitement(int);
- void main()
- {
- int val,port=0,erreur;
- #ifdef WIN32
- WSADATA wsa;
- /* initialisation */
- WSAStartup(MAKEWORD(2,0), &wsa);
- #endif
- int serveur;
- int client;
- struct sockaddr_in sin;
- struct sockaddr_in clientsin;
- // saisir la configuration du serveur
- /*
- printf("Entrez le numero de port: " );
- scanf("%d",&port);
- */
- // port par defaut pour tests rapides
- port = 1123;
- /* creation de la socket serveur */
- serveur=socket(AF_INET,SOCK_STREAM,0);
- if(serveur==INVALID_SOCKET)
- {
- perror("erreur de creation de la socket" );
- exit(-1);
- }
- /* configuration de la socket */
- sin.sin_addr.s_addr = INADDR_ANY;
- sin.sin_family = AF_INET;
- sin.sin_port = htons(port);
- /* attacher le socket au n° de port*/
- erreur=bind(serveur,(sockaddr *)&sin, sizeof(sin));
- if(erreur == INVALID_SOCKET)
- {
- perror("bind" );
- exit(-1);
- }
- /* creation d'une file d'attente de demande de connexion */
- //listen(serveur,5);
- //}
- if (listen(serveur, 5)==SOCKET_ERROR)
- {
- perror("ERREUR LISTEN" );
- exit(-1) ;
- }
-
- val=sizeof(clientsin);
- cout << "\n*****Serveur INSEE (simulation) en attente\n\n\n";
- while(1)
- {
- /* accepter une connexion */
- client=accept(serveur,(sockaddr *)&clientsin,NULL);
- if(client == INVALID_SOCKET)
- {
- perror("erreur de connection" );
- exit(-1);
- }
- /* fonction qui utilise la socket */
- traitement(client);
- }
- }
|
|