Projet de C/Réseau Création d'une boite aux lettres basée sur les Protocoles TCP et UDP.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
BQUINTAN 41c3de4e5d Projet Fini 3 years ago
.idea Modification TCP avec write 4 years ago
bal.h Projet Fini 3 years ago
makefile Fin du projet. Serveur Fonctionnel 3 years ago
readme.txt Fin du projet. Serveur Fonctionnel 3 years ago
tsock Fin du projet. Serveur Fonctionnel 3 years ago
tsock.h Fin du projet. Serveur Fonctionnel 3 years ago
tsock_vf.c Fin du projet. Serveur Fonctionnel 3 years ago

readme.txt

                    __________________________________________________________________________
|| Projet de Programmation C orientée réseaux ||
|| ||
|| Prénom : Béranger ||
|| Nom : Quintana ||
|| Groupe : 3AE E ||
||______________________________________________________________________||

Bonjour, bienvenue sur ce programme d'échanges basé sur les protocoles TCP et UDP.
Avec ce programme vous pourrez utiliser ces protocoles sous différentes formes :

-De manière classique, avec un puits (-p) qui reçoit les informations d'une source (-s)
-Avec une nouvelle fonctionnalité de serveur de Boite aux Lettres

La fonctionnalité qui sera lancée au démarrage du programme sera celle de BAL.

________________________________________________________________________________________________________________________
Lancement de tsock
________________________________________________________________________________________________________________________

Pour lancer le programme, ouvrez un terminal dans le répertoire de travail, puis tapez la commande :

make

Cela compilera vos fichiers. Vous pourrez par la suite lancer vos différents programmes.
________________________________________________________________________________________________________________________
USAGE de la Boite Aux Lettres
________________________________________________________________________________________________________________________
==========================
LANCEMENT D'UN SERVEUR BAL
==========================
Ici on peut lancer un serveur de Boites aux lettres sur une adresse IP et un port donné. Ce serveur se comporte comme
une boucle infinie qui stocke les messages entrants dans des Boites aux lettres et les délivre par la suite après
requête d'un récepteur.

Pour lancer notre serveur BAL, il faut utiliser l'option -b du programme et lui attribuer un port d'écoute
Exemple, je veux lancer un serveur BAL sur le port 9000 :
Commande à utiliser :
./tsock -b 9000

====================
EMISSION DE MESSAGES
====================

Pour envoyer une ou plusieurs lettres, à un boite aux lettres, il faut utiliser l'option -e# du programme avec # le
numéro de Boite aux lettres destinataire, ainsi que fournir l'adresse IP du serveur, et le port d'écoute.
Exemple je veux envoyer des messages à la BAL n°5 sur l'IP 127.0.0.1, sur le port 9000
Commande à utiliser :
./tsock -e5 127.0.0.1 9000

NB : si vous ne précisez pas le numéro de BAL cela envoira par défaut sur la BAL n°0

Options disponibles pour l'émetteur :
-n# : fixe le nombre de message à émettre avec # le nombre de messages
-l# : fixe la longueur des messages à émettre avec # la longueur des messages pour cet envoi.
ATTENTION : On ne peut pas envoyer de messages plus court que les messages présents dans la BAL sous peine de
rogner les messages ces derniers. Le programme ne vous en informera pas lors de l'envoi...
En revanche, on peut envoyer des messages plus long que ceux précédemment envoyés.

=====================
RECEPTION DE MESSAGES
=====================

Pour récupérer les lettres d'une boite aux lettres le principe est le même :
Exemple : Je veux récupérer les lettres de la BAL n°5, à l'IP 127.0.0.1, sur le port 9000 :
Commande à utiliser :
./tsock -r5 localhost 9000

Vous ne pouvez ici que récupérer l'ensemble des lettres disponibles dans une des Boites aux lettres.
Les options -n et -l ne sont donc pas utilisables.

========================================================================================================================
========================================================================================================================

Avec ces fichiers vous pourrez également utiliser TCP et UDP dans des usages plus classiques d'envois et réceptions
directes

________________________________________________________________________________________________________________________
USAGE CLASSIQUE
________________________________________________________________________________________________________________________

-Il est nécessaire d'activer le puits en premier et en lui attribuant une adresse IP distante ainsi qu'un
numéro de port
Exemple : Je veux recevoir depuis l'hôte local sur le port 9000
Commande à utiliser :
./tsock -p localhost 9000

Seulement après avoir activé notre puits, on peut lancer notre source toujours en lui attribuant l'IP destinataire
et le numéro de port ou l'on veut envoyer nos informations.
Exemple : Je veux envoyer à destination de l'hote local sur le port 9000
Commande à utiliser :
./tsock -s localhost 9000

Liste des options :

-n : permet de fixer le nombre de messages à envoyer (par défaut : 10)
-l : permet de fixer la longueur des messages à envoyer (par défaut 30)
-u : permet d'utiliser le protocole UDP car TCP est utilisé par défaut

Pour l'usage classique, il est important que l'utilisateur du puits, paramètre correctement la longueur des
messages à recevoir pour pouvoir les recevoir correctement, sinon, la longueur par défaut sera de 30 caractères.

De plus, concernant le nombre de messages, si l'utilisateur du puits utilise l'option -n, et que le n du puits
est inférieur au -n du récepteur, il ne recevra pas les denrniers messages.

________________________________________________________________________________________________________________________
Remarques Générales
________________________________________________________________________________________________________________________

-En principe, l'utilisation de fonctions de la partie Classique sur une serveur BAL ne fonctionne pas.
Par exemple, l'envoi depuis une source TCP (-s) vers un serveur BAL (-b) en fonctionnement contenant déjà des
lettres, enverra les lettres sur la dernière BAL utilisée. L'envoi depuis une source vers un serveur BAL ne
contenant pas de lettres sera bloquant. Il faudra relancer le serveur BAL pour pouvoir recevoir des lettres.

-La problématique de la longueur des messages à recevoir côté serveur n'a pas pu être traitée par manque de
temps.

-Il reste surement des coquilles....

Si besoin, n'hésitez pas à me contacter : bquintan@etud.insa-toulouse.fr

Bonne correction!