mirror of
https://github.com/yoboujon/tsock.git
synced 2025-06-08 22:10:50 +02:00
Prise en charge complète de la liste des messages
This commit is contained in:
parent
105907be70
commit
7885ac7bb6
3 changed files with 61 additions and 31 deletions
29
header/bal.h
Normal file
29
header/bal.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#ifndef HEADER_BAL
|
||||||
|
#define HEADER_BAL
|
||||||
|
|
||||||
|
#include "tsock.h"
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
char *data;
|
||||||
|
int tailleData;
|
||||||
|
int idEmeteur;
|
||||||
|
}messageBAL;
|
||||||
|
|
||||||
|
struct elementMessage{
|
||||||
|
messageBAL * messageBALActuel;
|
||||||
|
struct elementMessage * suiv;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct listeMessage{
|
||||||
|
struct elementMessage * debut;
|
||||||
|
struct elementMessage * courant;
|
||||||
|
struct elementMessage * fin;
|
||||||
|
};
|
||||||
|
|
||||||
|
messageBAL * creeMessage(char *data,int idEmeteur);
|
||||||
|
struct elementMessage * initElementMessage(void);
|
||||||
|
struct listeMessage initListeMessage(void);
|
||||||
|
void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage);
|
||||||
|
void afficheListeMessage(struct listeMessage listeActuel);
|
||||||
|
|
||||||
|
#endif
|
|
@ -2,6 +2,8 @@
|
||||||
#define HEADER_PUIT
|
#define HEADER_PUIT
|
||||||
|
|
||||||
#include "tsock.h"
|
#include "tsock.h"
|
||||||
|
|
||||||
int launchPuit(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress);
|
int launchPuit(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress);
|
||||||
int receiveMultipleData(int nombreMessages, int tailleMessage, int sock, struct sockaddr_in socketStruct, int isTCP);
|
int receiveMultipleData(int nombreMessages, int tailleMessage, int sock, struct sockaddr_in socketStruct, int isTCP);
|
||||||
|
|
||||||
#endif
|
#endif
|
61
src/bal.c
61
src/bal.c
|
@ -1,31 +1,10 @@
|
||||||
#include <stdio.h>
|
#include "../header/bal.h"
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
typedef struct{
|
|
||||||
char *data;
|
|
||||||
int tailleData;
|
|
||||||
int idEmeteur;
|
|
||||||
}messageBAL;
|
|
||||||
|
|
||||||
struct elementMessage{
|
|
||||||
messageBAL * messageBALActuel;
|
|
||||||
struct messageBAL * suiv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct listeMessage{
|
|
||||||
struct elementMessage * debut;
|
|
||||||
struct elementMessage * courant;
|
|
||||||
struct elementMessage * fin;
|
|
||||||
};
|
|
||||||
|
|
||||||
messageBAL * creeMessage(char *data,int idEmeteur);
|
|
||||||
struct elementMessage * initElement(void);
|
|
||||||
struct listeMessage initListe(void);
|
|
||||||
|
|
||||||
int main(void){
|
int main(void){
|
||||||
initElement();
|
struct listeMessage l = initListeMessage();
|
||||||
|
messageBAL * messageBAL = creeMessage("Renvoi moi mon pdf asap. -Simon",1);
|
||||||
|
ajoutListe(&l,messageBAL);
|
||||||
|
afficheListeMessage(l);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +19,7 @@ messageBAL * creeMessage(char *data,int idEmeteur)
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct elementMessage * initElement(void)
|
struct elementMessage * initElementMessage(void)
|
||||||
{
|
{
|
||||||
struct elementMessage * returnElement = malloc(sizeof(struct elementMessage));
|
struct elementMessage * returnElement = malloc(sizeof(struct elementMessage));
|
||||||
returnElement->messageBALActuel = creeMessage("",0);
|
returnElement->messageBALActuel = creeMessage("",0);
|
||||||
|
@ -48,11 +27,31 @@ struct elementMessage * initElement(void)
|
||||||
return returnElement;
|
return returnElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct listeMessage initListe(void)
|
struct listeMessage initListeMessage(void)
|
||||||
{
|
{
|
||||||
struct listeMessage l;
|
struct listeMessage l;
|
||||||
l.debut=initElement();
|
l.debut=initElementMessage();
|
||||||
l.fin=initElement();
|
l.fin=initElementMessage();
|
||||||
l.courant=initElement();
|
l.courant=initElementMessage();
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage)
|
||||||
|
{
|
||||||
|
struct elementMessage * elementActuel = malloc(sizeof(struct elementMessage));
|
||||||
|
elementActuel->messageBALActuel=leMessage;
|
||||||
|
elementActuel->suiv=listeActuel->courant;
|
||||||
|
listeActuel->debut=elementActuel;
|
||||||
|
listeActuel->courant=elementActuel;
|
||||||
|
}
|
||||||
|
|
||||||
|
void afficheListeMessage(struct listeMessage listeActuel)
|
||||||
|
{
|
||||||
|
struct elementMessage * elementFinal = listeActuel.fin;
|
||||||
|
struct elementMessage * elementCourant = listeActuel.courant;
|
||||||
|
while(elementCourant->suiv != elementFinal->suiv)
|
||||||
|
{
|
||||||
|
printf("%s\n",elementCourant->messageBALActuel->data);
|
||||||
|
elementCourant=elementCourant->suiv;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue