Adapted the apps to externalize the IP and mictcp port number as command line arguments

This commit is contained in:
Nicolas Van Wambeke 2023-04-09 20:46:08 +02:00
parent b6816aa736
commit f9c78e2d36
3 changed files with 16 additions and 14 deletions

View file

@ -4,15 +4,15 @@
#define MAX_SIZE 1000 #define MAX_SIZE 1000
int main() int main(int argc, char *argv[])
{ {
int sockfd = 0; int sockfd = 0;
char chaine[MAX_SIZE]; char chaine[MAX_SIZE];
mic_tcp_sock_addr addr; mic_tcp_sock_addr addr;
addr.ip_addr.addr = "127.0.0.1"; addr.ip_addr.addr = argv[1];
addr.ip_addr.addr_size = strlen("127.0.0.1") + 1; addr.ip_addr.addr_size = strlen(addr.ip_addr.addr) + 1;
addr.port = 1234; addr.port = atoi(argv[2]);
if ((sockfd = mic_tcp_socket(CLIENT)) == -1) if ((sockfd = mic_tcp_socket(CLIENT)) == -1)
{ {
@ -38,6 +38,7 @@ int main()
printf("[TSOCK] Entrez vos message a envoyer, CTRL+D pour quitter\n"); printf("[TSOCK] Entrez vos message a envoyer, CTRL+D pour quitter\n");
while(fgets(chaine, MAX_SIZE , stdin) != NULL) { while(fgets(chaine, MAX_SIZE , stdin) != NULL) {
chaine[strcspn(chaine, "\r\n")] = 0;
int sent_size = mic_tcp_send(sockfd, chaine, strlen(chaine)+1); int sent_size = mic_tcp_send(sockfd, chaine, strlen(chaine)+1);
printf("[TSOCK] Appel de mic_send avec un message de taille : %lu\n", strlen(chaine)+1); printf("[TSOCK] Appel de mic_send avec un message de taille : %lu\n", strlen(chaine)+1);
printf("[TSOCK] Appel de mic_send valeur de retour : %d\n", sent_size); printf("[TSOCK] Appel de mic_send valeur de retour : %d\n", sent_size);

View file

@ -3,7 +3,7 @@
#define MAX_SIZE 1000 #define MAX_SIZE 1000
int main() int main(int argc, char *argv[])
{ {
int sockfd; int sockfd;
mic_tcp_sock_addr addr; mic_tcp_sock_addr addr;
@ -12,7 +12,7 @@ int main()
addr.ip_addr.addr = "127.0.0.1"; addr.ip_addr.addr = "127.0.0.1";
addr.ip_addr.addr_size = strlen(addr.ip_addr.addr) + 1; addr.ip_addr.addr_size = strlen(addr.ip_addr.addr) + 1;
addr.port = 1234; addr.port = atoi(argv[1]);
if ((sockfd = mic_tcp_socket(SERVER)) == -1) if ((sockfd = mic_tcp_socket(SERVER)) == -1)
@ -55,7 +55,7 @@ int main()
printf("[TSOCK] Attente d'une donnee, appel de mic_recv ...\n"); printf("[TSOCK] Attente d'une donnee, appel de mic_recv ...\n");
rcv_size = mic_tcp_recv(sockfd, chaine, MAX_SIZE); rcv_size = mic_tcp_recv(sockfd, chaine, MAX_SIZE);
printf("[TSOCK] Reception d'un message de taille : %d\n", rcv_size); printf("[TSOCK] Reception d'un message de taille : %d\n", rcv_size);
printf("[TSOCK] Message Recu : %s", chaine); printf("[TSOCK] Message Recu : %s\n", chaine);
} }
return 0; return 0;
} }

View file

@ -2,39 +2,40 @@
puits=false puits=false
sourc=false sourc=false
protocol="tcp" dest="127.0.0.1"
usage() { echo "Usage: $0 [-p|-s]" 1>&2; exit 1; } usage() { echo "Usage: $0 [-p|-s destination] port" 1>&2; exit 1; }
while getopts "pst:" o; do while getopts "ps:" o; do
case "${o}" in case "${o}" in
p) p)
puits=true puits=true
;; ;;
s) s)
sourc=true sourc=true
dest=${OPTARG}
;; ;;
*) *)
usage usage
;; ;;
esac esac
done done
if (([ "$sourc" = true ] && [ $# -ne 3 ]) || ([ "$puits" = true ] && [ $# -ne 2 ])) || (([ "$puits" = true ] && [ "$sourc" = true ]) || ([ "$puits" = false ] && [ "$sourc" = false ])) ; then
if ([ "$puits" = true ] && [ "$sourc" = true ]) || ([ "$puits" = false ] && [ "$sourc" = false ]) ; then
usage usage
exit 1 exit 1
fi fi
port=${@: -1}
if [ "$puits" = true ]; then if [ "$puits" = true ]; then
cd build cd build
./server ./server $port
cd .. cd ..
fi fi
if [ "$sourc" = true ]; then if [ "$sourc" = true ]; then
cd build cd build
./client ./client $dest $port
cd .. cd ..
fi fi