Skip to content

Repo for university project: Simple server/client program communicating over TCP, written entirely in C.

Notifications You must be signed in to change notification settings

Cornelius-Sivertsen/Tsock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pour le mini-rapport du BE: cliquez ici

Pour les fichiers exécutables, voir release "Projet final".

Projet tsock, 3ième année AE, INSA-Toulouse.

L'objectif du BE est de réaliser une application de boîtes aux lettres sur Internet en utilisant l'API socket. Le langage de programmation utilisé est le C. Il y a 2 parties dans ce TP :

    1. Principalement dédiée à la prise en main de l’API socket avec comme objectif de mettre en oeuvre l’application « tsock » utilisée dans le TP d’introduction aux réseaux, l'application tsock consiste à la mise en place de 2 protocoles de communication UDP et TCP.
    1. Vise le développement du système de boites aux lettres BAL.

Le projet consiste de différents fichiers :

  • readme.md
  • tsock_v2
  • tsock_v3
  • un librairie qui gère la partie liste chainée de la BAL.

Les commandes pour utiliser les programmes :

TSOCK-V2 :

Remarques:

  • Quand tsock-v2 est lancé en mode puits en UDP sans option -n, le nombre de message à recevoir est infini (voir un nombre très grand). Alors, le programme ne va jamais s'arreter.
  • En mode puits, TCP, c'est à l'utilisateur de définir le longueur, et le nombre de messages à recevoir. Si l'utilisateur ne met pas les bonnes valeurs, le découpage des messages ne va pas se faire correctement.

Pour compiler tsock-v2:

gcc -Wextra -Wall -o tsock-v2.exe tsock-2.c -lm

  • pour la partie UDP :

Puit :

./tsock-v2.exe -p -u n°port

Source :

./tsock-v2.exe -s -u [-option n,l] nom_destinataire port_destinataire

  • pour la partie TCP :

Puit :

./tsock-v2.exe -p [-option n,l] n°port //laisse la possibilité à l'utilisateur de n'afficher que n message(s) de l longueur(s)

Source :

./tsock-v2.exe -s [-option n,l] nom_destinataire port_destinataire 

TSOCK-V3 :

Remarque:

tsock-v3 travaille avec des messages de longueur fixe = 30. Alors l'option -l n'existe pas.
De plus, le recepteur récupère toujours tous les messages dans la boite cible, alors l'option -n ne sert à rien pour le programme récepteur.
Nous remarquons aussi que la BAL ne répond qu'aux 30 premières requêtes (récepteur ou émetteur) avant de se fermer. Ceci est géré par le macro NOMBRE_CLIENTS au début du tsock-3.c.

compiler la librairie libBAL.h

  gcc -Wextra -Wall -o libBAL.o -c libBAL.c

Compiler tsock-v3

gcc -Wextra -Wall -o tsock-v3.exe tsock-3.c libBAL.o -lm

Utilisation :

1: Ouvrir la BAL :

./tsock-v3.exe -b n°port

2: Emetteur

./tsock-v3.exe -e n°cible -n nbr_messages nom_machine_BAL n°port_BAL //le n°cible est le numéro du récepteur pour lequel on veut envoyer les messages en passant par la BAL
     

3: Récepteur

./tsock-v3.exe -r n°cible nom_machine_BAL n°port_BAL //le n°cible est le numéro du l'émetteur dont on veut recevoir les messages qu'il a envoyé à la BAL
     

About

Repo for university project: Simple server/client program communicating over TCP, written entirely in C.

Topics

Resources

Stars

Watchers

Forks

Languages