1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| #include <stdio.h>
#include <curses.h> /* Primitives de gestion d'cran */
#include <sys/signal.h>
#include <sys/wait.h>
#include "fon.h" /* primitives de la boite a outils */
#include "client.h"
#include "interface_client.h"
#define SERVEUR_DEFAUT "localhost"
#define SERVICE_DEFAUT "6500"
int num_socket_client;
struct sockaddr_in adr_client;
struct sockaddr_in adr_distant;
void client_appli (char *serveur,char*service,char *protocole);
void serveur_appli (char *service, char* protocole);
/*****************************************************************************/
/*--------------- programme client -----------------------*/
main(int argc, char *argv[])
{
char *serveur= SERVEUR_DEFAUT; /* serveur par defaut */
char *service= SERVICE_DEFAUT; /* numero de service par defaut (no de port) */
char *protocole= PROTOCOLE_DEFAUT; /* protocole par defaut */
/* Permet de passer un nombre de parametre variable a l'executable */
switch(argc)
{
case 1 : /* arguments par defaut */
printf("serveur par defaut: %s\n",serveur);
printf("service par defaut: %s\n",service);
printf("protocole par defaut: %s\n",protocole);
break;
case 2 : /* serveur renseigne */
serveur=argv[1];
printf("service par defaut: %s\n",service);
printf("protocole par defaut: %s\n",protocole);
break;
case 3 : /* serveur, service renseignes */
serveur=argv[1];
service=argv[2];
printf("protocole par defaut: %s\n",protocole);
break;
case 4: /* serveur, service, protocole renseignes */
serveur=argv[1];
service=argv[2];
protocole=argv[3];
break;
default:
printf("Usage:client serveur(nom ou @IP) service (nom ou port) protocole (TCP ou UDP)\n");
exit(1);
}
/* serveur est le nom (ou l'adresse IP) auquel le client va acceder */
/* service le numero de port sur le serveur correspondant au */
/* service desire par le client */
/* protocole le protocole qui sera utilise pour la communication */
client_appli(serveur,service,protocole);
}
/*****************************************************************************/
void client_appli (char *serveur,char*service,char *protocole)
/* procedure correspondant au traitement du client de votre application */
{
interface_client();
} |
Partager