1 : $$$$ CHAU NOTICE CHAT 11/09/12 21:15:23 7124 2 : DATE 11/09/12 3 : 4 : Operateur CHAUSSETTE Voir aussi : 5 : -------------------- 6 : ENT1=CHAU 'SERVEUR' ('ATTENTE' ENT4); 7 : ENT1=CHAU 'CLIENT' MOT1; 8 : ENT1=CHAU 'ECRITURE' LREE1 ('ECHO') ('ATTENTE' ENT4); 9 : ENT1=CHAU 'ECRITURE' MOT2 ('ECHO') ('ATTENTE' ENT4); 10 : ENT1 LREE2=CHAU 'LECTLIST' ENT2 ('ECHO') ('ATTENTE' ENT4); 11 : ENT1 MOT3=CHAU 'LECTUMOT' ENT3 ('ECHO') ('ATTENTE' ENT4); 12 : ENT1=CHAU 'FERMETURE' ('COMPLETE'); 13 : 14 : Objet : 15 : ------- 16 : 17 : L'operateur CHAUSSETTE permet d'ouvrir un port de communication 18 : (service castem/numero 2000) soit comme serveur (mot cle 'SERVEUR') 19 : sur l'ordinateur courant, soit de type client (mot cle 'CLIENT') sur 20 : l'ordinateur-hote de nom MOT1 (type MOT). 21 : 22 : On peut ensuite ecrire sur le port (mot cle 'ECRITURE') la suite 23 : de flottant LREE1 (type LISTREEL) ou un mot MOT2 (type MOT), ou bien 24 : lire sur le port (mot cle 'LECTLIST') la suite de flottant LREE2 25 : (type LISTREEL) de longueur ENT2 (type ENTIER) ou bien (mot cle 26 : 'LECTUMOT') le mot MOT3 (type MOT) de longueur ENT3 (type ENTIER). 27 : 28 : En fin d'utilisation, le port est ferme (mot cle 'FERMETURE'). 29 : 30 : Remarque : 31 : ---------- 32 : 33 : 1) Le processus de lecture etant bloquant (du moins pendant un laps 34 : de temps donne - voir remarque 3), CHAUSSETTE permet d'implenter non 35 : seulement une ligne de communication, mais aussi un semaphore. 36 : 37 : 2) Lors de la transmission des donnees on peut travailler avec un 38 : echo (mot cle 'ECHO'). En ecriture, on attend la lecture de l'echo 39 : que l'on compare au paquet original. En lecture on retransmet en 40 : ecriture le paquet que l'on vient de lire. 41 : 42 : 3) Toute les operations de lecture, ainsi que l'attente du serveur 43 : pour un client, sont affectees d'un temps d'attente maximum de 30 44 : secondes avant sortie avec erreur. On peut modifier ce temps en 45 : introduisant le mot cle 'ATTENTE' suivi du nouveau temps d'attente ENT4 46 : (type ENTIER) exprime en seconde. 47 : 48 : 4) ENT1 (type ENTIER) permet de verifier si l'operation demandee a 49 : ete effectivement realisee. Le code suivant est utilise: 50 : 51 : ENT1=1 : pas de probleme, 52 : ENT1=-1 : l'operation n'a pas ete realisee au niveau du port, 53 : ENT1=-2 : les donnees ont ete inaccessibles sur le reseau dans 54 : le temps d'attente. 55 : ENT1=-3 : en mode 'ECRITURE' avec 'ECHO', on ne relit pas exactement 56 : ce que l'on a transmis 57 : 58 : 5) Dans le cas d'une ouverture en mode 'SERVEUR', le port peut etre mis 59 : en mode de 'FERMETURE' complete (mot cle 'COMPLETE') ou partielle. Si la 60 : fermeture est partielle, le serveur fonctionne en mode incremental et peut 61 : en particulier satisfaire, lors d'une re-ouverture en mode 'SERVEUR', la 62 : connection avec un client en attente de communication. Dans le cas d'une 63 : fermeture incomplete, le port ne peut etre ouvert en mode 'CLIENT'. Dans le 64 : cas d'une fermeture complete, on ne peut effectuer une reouverture en mode 65 : 'SERVEUR' que lorsque tous les clients ont ete fermes. 66 : 67 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales