#include "server.h" int main(int argc, char* argv[]){ /* [1] Initialisation =========================================================*/ /* (1) Socket info */ // Client struct sockaddr_in addr_client; char client_ip[20]; // Socket int sock; /* (2) Misc. information */ char* to_send = (char*) malloc( BUFSIZE * sizeof(char) ); char* to_recv = (char*) malloc( BUFSIZE * sizeof(char) ); int bytes; // transfer count /* [2] Create socket =========================================================*/ /* (1) Create socket */ sock = xbind(4000); /* (1-) Manage error */ if( sock == -1 ){ perror("erreur création socket"); exit(1); } /* [3] Wait for client message =========================================================*/ /* (1) Listen to data */ bytes = xlisten(sock, &addr_client, to_recv, BUFSIZE); /* (2) Manage error */ if( bytes == -1 ){ perror("erreur réception paquet"); exit(1); } // Get client ip inet_ntop(AF_INET, &(addr_client.sin_addr), client_ip, 20); printf("*** received '%s' (%d bytes) from %s:%d\n", to_recv, bytes, client_ip, ntohs(addr_client.sin_port)); /* [4] Send response =========================================================*/ /* (1) Set response data */ strcpy(to_send, "server response"); /* (2) Send response */ bytes = xsend(sock, to_send, &addr_client); /* (3) Manage error */ if( bytes == -1 ){ perror("erreur envoi réponse"); exit(1); } /* [5] Close socket =========================================================*/ close(sock); }