client : nombre de paquets émis
code/loc-bts/client : * Affinement de la gestion du nombre de paquets envoyés et du délai entre envois de paquets, dans le cas de la demande de localisation et dans le cas de la requête de calibration. * Makefile : Ajout d'une cible de compilation statique, afin d'obtenir un binaire autonome à copier sur les clients. code/librtaputil/Makefile : * Ajout d'un lien symbolique vers la version numérotée de la bibliothèque, dans la cible "install-dynamic". code/GuiNuMo-server/test.bash : * Suppression de ce fichier obsolète. git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@44 785a6c6c-259e-4ff1-8b91-dc31627914f0
This commit is contained in:
parent
cc1222f67f
commit
7a938066a0
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
./test 1060-scan.csv 1080-scan.csv 1100-scan.csv 1070-scan.csv 1090-scan.csv couloir-scan.csv
|
|
@ -14,6 +14,7 @@ RANLIB = ranlib
|
|||
# Commandes d'installation et de désinstallation
|
||||
RM=rm -fv
|
||||
CP=cp -v
|
||||
SYMLINK=ln -svf
|
||||
|
||||
# Variables générales
|
||||
LIB_CIBLE=librtaputil
|
||||
|
@ -36,6 +37,7 @@ XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS)
|
|||
PICFLAG=-fPIC
|
||||
LIBS=-liw
|
||||
#STRIPFLAGS= -Wl,-s
|
||||
#LDFLAGS=
|
||||
|
||||
|
||||
## Cibles de compilation standard ##
|
||||
|
@ -72,6 +74,7 @@ install-dynamic : install-header $(DYNAMIC)
|
|||
@$(CP) $(DYNAMIC) $(INSTALL_LIB) &&\
|
||||
chmod 644 $(INSTALL_LIB)/$(DYNAMIC) &&\
|
||||
chown root:root $(INSTALL_LIB)/$(DYNAMIC) &&\
|
||||
cd $(INSTALL_LIB) && $(SYMLINK) $(DYNAMIC) $(LIB_CIBLE).so &&\
|
||||
echo -e "\n!!! Installation de la bibliothèque dynamique effectuée avec succès.\n!!! Ajoutez une ligne « $(INSTALL_LIB) » dans le fichier /etc/ld.so.conf\n ou dans un nouveau fichier de /etc/ld.so.conf.d/, si ce n'est déjà fait.\n!!! Exécutez ldconfig ensuite.\n"
|
||||
|
||||
install-static : install-header $(STATIC)
|
||||
|
@ -90,7 +93,7 @@ install-header : $(HEADER)
|
|||
uninstall : uninstall-dynamic uninstall-static
|
||||
|
||||
uninstall-dynamic : uninstall-header
|
||||
@$(RM) $(INSTALL_LIB)/$(DYNAMIC)
|
||||
@$(RM) $(INSTALL_LIB)/$(DYNAMIC) $(INSTALL_LIB)/$(LIB_CIBLE).so
|
||||
ldconfig
|
||||
|
||||
uninstall-static : uninstall-header
|
||||
|
|
|
@ -21,7 +21,8 @@ CFLAGS=-O2 -W -Wall -Wstrict-prototypes -O -I.
|
|||
DEPFLAGS=-MMD
|
||||
XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS)
|
||||
PICFLAG=-fPIC
|
||||
LIBS=../../librtaputil/librtaputil.so.1.0
|
||||
LIBS=-lrtaputil
|
||||
STATIC_LIBS=-liw -lm
|
||||
|
||||
|
||||
## Cibles de compilation standard ##
|
||||
|
@ -29,6 +30,7 @@ LIBS=../../librtaputil/librtaputil.so.1.0
|
|||
.PHONY : all install uninstall clean purge help
|
||||
|
||||
all : $(TARGET)
|
||||
static : $(TARGET).static
|
||||
|
||||
% : %.o
|
||||
$(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS)
|
||||
|
@ -38,6 +40,9 @@ all : $(TARGET)
|
|||
# Compilation du programme
|
||||
$(TARGET) : $(TARGET).o $(HEADER)
|
||||
|
||||
$(TARGET).static : $(TARGET).c $(HEADER)
|
||||
$(CC) $(LDFLAGS) -static $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS) $(STATIC_LIBS)
|
||||
|
||||
|
||||
## Installation / désinstallation ##
|
||||
|
||||
|
@ -45,8 +50,12 @@ install : $(TARGET)
|
|||
@$(CP) $(TARGET) $(INSTALL_DIR)
|
||||
@cd $(INSTALL_DIR) ; chown root:root $(TARGET) ; chmod 755 $(TARGET)
|
||||
|
||||
install-static : $(TARGET).static
|
||||
@$(CP) $(TARGET).static $(INSTALL_DIR)
|
||||
@cd $(INSTALL_DIR) ; chown root:root $(TARGET).static ; chmod 755 $(TARGET).static
|
||||
|
||||
uninstall :
|
||||
@$(RM) $(INSTALL_DIR)/$(TARGET)
|
||||
@$(RM) $(INSTALL_DIR)/{$(TARGET),$(TARGET).static}
|
||||
|
||||
|
||||
## Nettoyage ##
|
||||
|
@ -55,7 +64,7 @@ clean :
|
|||
@$(RM) -fv *~ *.o *.d
|
||||
|
||||
purge : clean
|
||||
@$(RM) -fv $(TARGET)
|
||||
@$(RM) -fv $(TARGET) $(TARGET).static
|
||||
|
||||
|
||||
## Aide ##
|
||||
|
|
|
@ -18,6 +18,11 @@
|
|||
|
||||
/* Nombre de paquets envoyés */
|
||||
#define NBPKT_CALIB 20 // Rafale de 20 paquets lors de la calibration
|
||||
#define NBPKT_NORMAL 10 // Nombre de paquets envoyés dans le cas d'une demande de localisation
|
||||
|
||||
/* Délai entre chaque paquet envoyé */
|
||||
#define DELAY_CALIB 50000 // Délai entre chaque émission de paquet lors de la calibration (en ms)
|
||||
#define DELAY_NORMAL 25000 // Délai entre chaque émission de paquet dans le cas d'une demande de localisation (en ms)
|
||||
|
||||
|
||||
|
||||
|
@ -45,6 +50,9 @@ int main(int argc, char *argv[])
|
|||
ssize_t nsent ; // Retour de sendto
|
||||
char iface[IFNAMSIZ + 1] = "" ; // Interface réseau depuis laquelle on envoit le paquet
|
||||
|
||||
int i ; // Compteur
|
||||
int delay = (argc == ARGC_NORMAL ? DELAY_NORMAL : DELAY_CALIB) ; // Temps d'attente entre chaque émission de paquet
|
||||
|
||||
|
||||
/* Test du nombre d'arguments */
|
||||
if (argc == ARGC_NORMAL + 1 || argc == ARGC_CALIB + 1) // Si on a spécifié un nom d'interface
|
||||
|
@ -84,7 +92,7 @@ int main(int argc, char *argv[])
|
|||
/* Création du paquet à envoyer */
|
||||
gettimeofday(&request_time, NULL) ;
|
||||
|
||||
if(argc == ARGC_NORMAL) // Paquet normal
|
||||
if (argc == ARGC_NORMAL) // Paquet normal
|
||||
{
|
||||
printf("Envoi normal effectué à : %llu\n", timeval_to_ms(request_time)) ;
|
||||
buf_size = sizeof(char) + sizeof(struct timeval) ;
|
||||
|
@ -93,7 +101,7 @@ int main(int argc, char *argv[])
|
|||
memcpy(&buf[1], &request_time, sizeof(request_time)) ;
|
||||
}
|
||||
|
||||
else if(argc == ARGC_CALIB) // Paquet calibration
|
||||
else // Paquet calibration
|
||||
{
|
||||
printf("Envoi Calibration effectué à : %llu\n", timeval_to_ms(request_time)) ;
|
||||
|
||||
|
@ -120,35 +128,34 @@ int main(int argc, char *argv[])
|
|||
|
||||
|
||||
/* Envoi des infos au serveur d'aggrégation */
|
||||
nsent = sendto(sockfd, (void *) buf, buf_size, 0, (struct sockaddr *) &server, (socklen_t) sizeof(server)) ;
|
||||
#ifdef DEBUG
|
||||
printf("Paquets envoyés : .") ;
|
||||
#endif
|
||||
nsent = sendto(sockfd, (void *) buf, buf_size, 0, (struct sockaddr *) &server, (socklen_t) sizeof(server)) ; // Envoi d'un paquet.
|
||||
if (nsent != (ssize_t) buf_size)
|
||||
{
|
||||
perror("Erreur lors de l'envoi des infos au serveur ") ;
|
||||
perror("Erreur lors de l'envoi des informations au serveur ") ;
|
||||
return ERR_SENDING_INFO ;
|
||||
}
|
||||
|
||||
if (argc == ARGC_CALIB) // Dans le cas d'un paquet de calibration, on envoit une rafale de NBPKT_CALIB paquets?
|
||||
{
|
||||
int i ;
|
||||
for (i = 0 ; i < NBPKT_CALIB - 1 ; i++)
|
||||
{
|
||||
usleep(50000) ; // On attend 50 ms entre chaque paquet.
|
||||
|
||||
nsent = sendto(sockfd, (void *) buf, buf_size, 0, (struct sockaddr *) &server, (socklen_t) sizeof(server)) ;
|
||||
#ifdef DEBUG
|
||||
putchar('.') ;
|
||||
fflush(stdout) ;
|
||||
printf("Paquets envoyés : .") ;
|
||||
fflush(stdout) ;
|
||||
#endif
|
||||
if (nsent != (ssize_t) buf_size)
|
||||
{
|
||||
perror("Erreur lors de l'envoi des infos au serveur ") ;
|
||||
return ERR_SENDING_INFO ;
|
||||
}
|
||||
|
||||
for (i = 0 ; i < (argc == ARGC_NORMAL ? NBPKT_NORMAL : NBPKT_CALIB) - 1 ; i++) // Si tels sont les paramètres, on envoit éventuellement la suite de la rafale de paquets :
|
||||
{
|
||||
usleep(delay) ; // On attend le temps voulu entre chaque paquet.
|
||||
|
||||
nsent = sendto(sockfd, (void *) buf, buf_size, 0, (struct sockaddr *) &server, (socklen_t) sizeof(server)) ;
|
||||
if (nsent != (ssize_t) buf_size)
|
||||
{
|
||||
perror("Erreur lors de l'envoi des infos au serveur ") ;
|
||||
return ERR_SENDING_INFO ;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
putchar('.') ;
|
||||
fflush(stdout) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
putchar('\n') ;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue