Exemples d'applications client/serveur
(Traduction du document original anglais)
Présentation
Les connexions sont gérées par le programme d'application. Un client mettant fin à une connexion sans respecter la séquence TCP (suite à une coupure secteur par exemple) sera toujours considéré comme étant connecté tant qu'aucune autre donnée n'aura été envoyée ou qu'aucun autre événement ne se sera produit.
Les paragraphes qui suivent proposent trois exemples significatifs qui devraient vous permettre de mieux comprendre le fonctionnement de l'architecture.
Le côté client est représenté sous forme de diagramme de flux, tandis que le côté serveur est représenté sous forme d'une séquence d'opérations étroitement liées aux événements du côté client.
Le scénario de l'exemple 2 représente une connexion coupée côté client après FCT_RECEIVE (Sj) car il n'y a pas de boucle de traitement SEND_RECEIVE.
Exemple 1
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de deux connexions demandées par deux clients.
Exemple 2
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de deux connexions demandées par le même client. La première déconnexion n'a pas été effectuée en respectant la procédure TCP correcte (comme dans le cas d'une coupure secteur par exemple). Le socket sera donc considéré comme étant toujours connecté tant que le client n'aura pas effectué de nouvelle connexion.
Exemple 3
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de deux connexions demandées par le même client. La première déconnexion n'a pas été effectuée en respectant la procédure TCP correcte (comme dans le cas d'une coupure secteur par exemple). Le socket sera donc considéré comme étant toujours connecté tant qu'aucune donnée n'aura été envoyée par le serveur.