emetteur et boite aux lettres fonctionnels

This commit is contained in:
Yohan Boujon 2023-01-18 10:48:53 +01:00
parent 6c1451c544
commit ef02dc4915
4 changed files with 20 additions and 31 deletions

View file

@ -27,6 +27,6 @@ int convertion(int nbr,char *numbuffer);
int gestionOffset(char *actualMessage,int encadrementHaut,int encadrementBas,int nbr); int gestionOffset(char *actualMessage,int encadrementHaut,int encadrementBas,int nbr);
int testProtocol(void); int testProtocol(void);
int recuperationParam(char * msgParam); int recuperationParam(char * msgParam, int * messageOrPram, int * numEmetteurParam, int * numRecepeteurParam, int * numTailleMessageParam, int * nbMessageParam);
int int2String(char *msgParam, int offset); int int2String(char *msgParam, int offset);
#endif #endif

View file

@ -1,4 +1,5 @@
#include "../header/puit.h" #include "../header/puit.h"
#include "../header/bal.h"
int launchPuit(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress,int isBAL) int launchPuit(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress,int isBAL)
{ {
@ -36,8 +37,10 @@ int initSocket(int socketType, struct sockaddr_in * socketStruct, int port, char
int modeBoiteAuxLettres(struct sockaddr_in socketStruct, int socketType, int port, char * ipAddress) int modeBoiteAuxLettres(struct sockaddr_in socketStruct, int socketType, int port, char * ipAddress)
{ {
char messageRecu[30+1]; struct listeBAL boiteAuxLettres = initListeBAL();
int n, i=1, longueurRecu = sizeof(socketStruct),sock,oldSock; char paramRecu[16];
int n, longueurRecu = sizeof(socketStruct),sock,oldSock;
int param,emetteur,recepteur,tailleMessage,nbMessage;
while(1) while(1)
{ {
n=1; n=1;
@ -46,12 +49,14 @@ int modeBoiteAuxLettres(struct sockaddr_in socketStruct, int socketType, int por
sock = accept(oldSock,(struct sockaddr *)&socketStruct,(socklen_t * restrict)&longueurRecu); sock = accept(oldSock,(struct sockaddr *)&socketStruct,(socklen_t * restrict)&longueurRecu);
while(n>0) while(n>0)
{ {
n = read(sock,messageRecu,30); n = read(sock,paramRecu,16);
messageRecu[n] = '\0'; recuperationParam(paramRecu,&param,&emetteur,&recepteur,&tailleMessage,&nbMessage);
char * messageRecu = malloc(sizeof(char)*tailleMessage);
n = read(sock,messageRecu,tailleMessage);
if(n>0) if(n>0)
{ {
printf("Puit\tReception n°%d (%d) :\t[%s]\n",i,n,messageRecu); nouveauMessage(&boiteAuxLettres,emetteur,recepteur,messageRecu);
i++; afficheListeBAL(boiteAuxLettres);
} }
} }
close(sock); close(sock);

View file

@ -81,6 +81,7 @@ void modeEmetteur(int emetteur,int nombreMessage,int tailleMessage,int sock,stru
actualMessage = formatTextMessage(sendingMessage,tailleMessage+1); actualMessage = formatTextMessage(sendingMessage,tailleMessage+1);
longueurEmis = write(sock,actualMessage,tailleMessage+1); longueurEmis = write(sock,actualMessage,tailleMessage+1);
printAndVerif(actualMessage,tailleMessage+1,longueurEmis,i); printAndVerif(actualMessage,tailleMessage+1,longueurEmis,i);
messageChar>='z'?messageChar='a':messageChar++;
} }
} }

View file

@ -89,35 +89,18 @@ int testProtocol(void)
msg2=formatTextMessage("aaaaaa",6); msg2=formatTextMessage("aaaaaa",6);
printf("%s\n",msg2); printf("%s\n",msg2);
recuperationParam(msg); //recuperationParam(msg);
return 0; return 0;
} }
int recuperationParam(char * msgParam) int recuperationParam(char * msgParam, int * messageOrPram, int * numEmetteurParam, int * numRecepeteurParam, int * numTailleMessageParam, int * nbMessageParam)
{ {
*messageOrPram=msgParam[0]-0x30;
int messageOrPram; *numEmetteurParam = int2String(msgParam,1);
int numEmetteurParam; *numRecepeteurParam= int2String(msgParam,5);
int numRecepeteurParam; *numTailleMessageParam= int2String(msgParam,9);
int numTailleMessageParam; *nbMessageParam=int2String(msgParam,13);
int nbMessageParam;
printf("Message param %s\n",msgParam);
messageOrPram=msgParam[0]-0x30;
printf("messageOrPram = %d \n",messageOrPram);
numEmetteurParam = int2String(msgParam,1);
printf("Param Emetteur = %d\n",numEmetteurParam);
numRecepeteurParam= int2String(msgParam,5);
printf("Param numRecepeteurParam = %d\n",numRecepeteurParam);
numTailleMessageParam= int2String(msgParam,9);
printf("Param numTailleMessageParam = %d\n",numTailleMessageParam);
nbMessageParam=int2String(msgParam,13);
printf("Param nbMessageParam = %d\n",nbMessageParam);
return 0; return 0;
} }