Commit f7075299 authored by pernelle's avatar pernelle

Finish 2020.2

parents abf9b039 809c47dc
......@@ -22,6 +22,7 @@
const int MATERIAUX_BALISTE[2][6]={{5,2,1,1,1,2},{9,3,3,2,3,2}};
/**
DEPRECATED
cette fonction lit une structure (armee) sur la socket (sock) et
retourne le nb octet recu
......@@ -38,9 +39,9 @@ int lireArmeeCOL3(int sock, armee * monarmee) {
while (nbtotal<taille)
{
nbrecu = recv(sock, (char *) monarmee, taille, 0);
nbrecu = recv(sock, ((char *) monarmee)+nbtotal, taille, 0);
if (nbrecu< 0) {
perror("reception message [NOK]");
printf(" --> socket[rlireArmeeCOL3] : [NOK] | nbrecu = %d \n",nbrecu);
}
else nbtotal+=nbrecu;
}
......@@ -49,19 +50,55 @@ int lireArmeeCOL3(int sock, armee * monarmee) {
return nbrecu;
}
/**
cette fonction lit une structure (armee) sur la socket (sock) et
retourne le nb octet recu (securisé)
p.pernelle / d.wayntal - 2020
*/
int lireArmeeCOL3_s(int sock, armee * monarmee, int logFlag) {
struct sockaddr_in addresIPClient ;
int longAdresseIPClient= sizeof(addresIPClient);
int nbrecu = 0, nbtotal=0 ;
int taille=sizeof(armee);
if (getpeername(sock,&addresIPClient,&longAdresseIPClient) == -1)
{
if (logFlag) printf(" --> socket[lireArmeeCOL3_s] : socket %d non connectée | lecture [NOK] \n",sock);
nbrecu=-1;
}
else
{
if (logFlag) printf(" --> socket[lireArmeeCOL3_s] en cours | attendu taille = %d ...\n",taille);
while (nbtotal<taille)
{
nbrecu = recv(sock, ((char *) monarmee)+nbtotal, taille, 0);
if (nbrecu< 0) {
if (logFlag) printf(" --> socket[lireArmeeCOL3_s] : [NOK] | nbrecu = %d \n",nbrecu);
}
else nbtotal+=nbrecu;
}
if (logFlag) printf(" --> socket[lireArmeeCOL3_s] : [OK] | nbrecu = %d \n",nbrecu);
}
return nbrecu;
}
/*
cette procedure affiche l'armee d'un clan c'est à dire
l'ensemble de ses balistes
p.pernelle / d.wayntal - 2019
p.pernelle / d.wayntal - 2020
*/
void afficheArmee(armee monarmee) {
int i;
printf("%s" ,"---- Armée du clan ----\n");
printf("============[ Armée du clan ] NB Baliste = %2d ============\n",monarmee.nbbaliste);
if (monarmee.nbbaliste==0) {
printf(" armee vide : aucune baliste fabriquee \n");
}
......@@ -69,10 +106,11 @@ void afficheArmee(armee monarmee) {
{
for(i=0;i<monarmee.nbbaliste;i++)
{
printf("%s %d %s %s %s %d,%s"," Balise ",i," = ",
printf(" - Balise [%2d] = %s fabriqué par la forge %d \n ",i,
monarmee.baliste[i] == BLE ? "BLE" : "BLO",
"Forge = ",monarmee.forge[i], "\n");
monarmee.forge[i]);
}
}
printf("===========================================================\n");
}
......@@ -39,7 +39,7 @@ typedef struct {
------------------------------------------------*/
int lireArmeeCOL3(int sock, armee * monarmee);
int lireArmeeCOL3_s(int sock, armee * monarmee, int logFlag);
/* ------------------------------------------------
fonctions d'afichage
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment