tsock/src/main.c

75 lines
No EOL
1.5 KiB
C

#include "../header/tsock.h"
#include "../header/puit.h"
#include "../header/source.h"
int main (int argc, char **argv)
{
testProtocol();
char usageChar[30]="usage: cmd [-p|-s][-n ##]\n";
char *ipAddress;
extern char *optarg;
extern int optind;
int source = -1, nb_message = -1, c, tcp=1, port=-1, tailleMessage=30; /* Nb de messages à envoyer ou à recevoir, par défaut : 10 en émission, infini en réception */
while ((c = getopt(argc, argv, "pn:sul:")) != -1) {
switch (c) {
case 'p':
if (source != -1) {
printf("%s",usageChar);
exit(1);
}
source = 0;
break;
case 's':
if (source != -1) {
printf("%s",usageChar);
exit(1) ;
}
source = 1;
break;
case 'l':
tailleMessage =atoi(optarg);
exitMax(tailleMessage,1500);
break;
case 'n':
nb_message = atoi(optarg);
break;
case 'u':
tcp=0;
break;
default:
printf("%s",usageChar);
break;
}
}
if (source == -1) {
printf("-p|-s non present !\n");
printf("%s",usageChar);
exit(1);
}
if(argc != optind+2)
{
printf("ip ou port non present !\n");
printf("%s",usageChar);
exit(1);
}
if(tailleMessage == -1)
{
tailleMessage = 30;
}
getNonOtpArgs(argv, argc, &port, &ipAddress);
setNbMessage(&nb_message,source);
printInfo(source,tcp,nb_message,tailleMessage,port,ipAddress);
if(source)
{
//printf("Source : %d\n",nb_message);
launchSource(nb_message,tailleMessage,tcp,port,ipAddress);
}
else
{
//printf("Puit : %d\n",nb_message);
launchPuit(nb_message,tailleMessage,tcp,port,ipAddress);
}
return(EXIT_SUCCESS);
}