mirror of
https://github.com/yoboujon/tsock.git
synced 2025-06-08 14:00:50 +02:00
emetteur et boite aux lettres fonctionnels
This commit is contained in:
parent
6c1451c544
commit
ef02dc4915
4 changed files with 20 additions and 31 deletions
|
@ -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
|
17
src/puit.c
17
src/puit.c
|
@ -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,¶m,&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);
|
||||||
|
|
|
@ -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++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
31
src/tsock.c
31
src/tsock.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue