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 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);
#endif

View file

@ -1,4 +1,5 @@
#include "../header/puit.h"
#include "../header/bal.h"
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)
{
char messageRecu[30+1];
int n, i=1, longueurRecu = sizeof(socketStruct),sock,oldSock;
struct listeBAL boiteAuxLettres = initListeBAL();
char paramRecu[16];
int n, longueurRecu = sizeof(socketStruct),sock,oldSock;
int param,emetteur,recepteur,tailleMessage,nbMessage;
while(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);
while(n>0)
{
n = read(sock,messageRecu,30);
messageRecu[n] = '\0';
n = read(sock,paramRecu,16);
recuperationParam(paramRecu,&param,&emetteur,&recepteur,&tailleMessage,&nbMessage);
char * messageRecu = malloc(sizeof(char)*tailleMessage);
n = read(sock,messageRecu,tailleMessage);
if(n>0)
{
printf("Puit\tReception n°%d (%d) :\t[%s]\n",i,n,messageRecu);
i++;
nouveauMessage(&boiteAuxLettres,emetteur,recepteur,messageRecu);
afficheListeBAL(boiteAuxLettres);
}
}
close(sock);

View file

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

View file

@ -89,35 +89,18 @@ int testProtocol(void)
msg2=formatTextMessage("aaaaaa",6);
printf("%s\n",msg2);
recuperationParam(msg);
//recuperationParam(msg);
return 0;
}
int recuperationParam(char * msgParam)
int recuperationParam(char * msgParam, int * messageOrPram, int * numEmetteurParam, int * numRecepeteurParam, int * numTailleMessageParam, int * nbMessageParam)
{
int messageOrPram;
int numEmetteurParam;
int numRecepeteurParam;
int numTailleMessageParam;
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);
*messageOrPram=msgParam[0]-0x30;
*numEmetteurParam = int2String(msgParam,1);
*numRecepeteurParam= int2String(msgParam,5);
*numTailleMessageParam= int2String(msgParam,9);
*nbMessageParam=int2String(msgParam,13);
return 0;
}