#include "../header/source.h" int launchSource(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress,int emetteur,int recepteur) { struct sockaddr_in socketSource; int sock,socketType; socketType = (isTCP) ? SOCK_STREAM : SOCK_DGRAM; if((sock=socket(AF_INET,socketType,0)) == -1) { perror("[tsock] : fonction socket() : echec creation du socket\n"); exit(EXIT_FAILURE); } initStructSocket(&socketSource,1,port,ipAddress); if(recepteur != -1) { printf("Mode Recepteur, recois : %d\n",recepteur); connectTCP(sock,socketSource,sizeof(socketSource)); modeRecepteur(recepteur,sock,&socketSource,sizeof(socketSource),port,ipAddress); return 0; } if(emetteur != -1) { printf("Mode Emetteur, envois : %d\n",emetteur); connectTCP(sock,socketSource,sizeof(socketSource)); modeEmetteur(emetteur,nombreMessage,tailleMessage,sock,&socketSource,sizeof(socketSource)); return 0; } if(isTCP) { connectTCP(sock,socketSource,sizeof(socketSource)); sendMultipleData(nombreMessage,tailleMessage,sock,&socketSource,sizeof(socketSource),isTCP); } else { sendMultipleData(nombreMessage,tailleMessage,sock,&socketSource,sizeof(socketSource),isTCP); } close(sock); return 0; } int sendMultipleData(int nombreMessages, int tailleMessage, int sock, struct sockaddr_in * socketStruct, int sizeSocketStruct, int isTCP) { int longueurEmis; char sendingMessage[tailleMessage],messageChar='a'; for(int i=0;i='z'?messageChar='a':messageChar++; } return 0; } void modeEmetteur(int emetteur,int nombreMessage,int tailleMessage,int sock,struct sockaddr_in * socketStruct,int tailleSocketStruct) { int longueurEmis; char sendingMessage[tailleMessage],*paramMessage,*actualMessage,messageChar='a'; for(int i=0;i='z'?messageChar='a':messageChar++; } } void modeRecepteur(int recepteur,int sock,struct sockaddr_in * socketStruct,int tailleSocketStruct,int port,char * ipAddress) { int longueurEmis,oldSock,param,emetteurRecepteur,tailleMessage,nbMessage=2,i=0; char paramRecu[13]; char *paramMessage; paramMessage = formatTextParam(MODE_RECEPTEUR,recepteur,0,0); longueurEmis = write(sock,paramMessage,13); close(sock); oldSock = initSocket(SOCK_STREAM,socketStruct,port,ipAddress); sock = listenAndAccept(oldSock,socketStruct,&tailleSocketStruct,true); while(i