Définition...
Opérateurs...
Exemple...
Traduction...
/***************************************************************/
Type CanalTcpIp Implemente Public : ICanal Defaut Final
/* Objet : ICanal Tcp-Ip pour communiquer entre deux taches. */
/***************************************************************/
Public :
/*-------------------------------------------------------------*/
/* Heritage des methodes de IFlux. */
/*-------------------------------------------------------------*/
Constructeur();
Procedure Lire(B : Booleen Sortie);
Fonction Lire(B : Binaire Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Fonction Lire(C : Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Procedure Lire(E : Entier Sortie);
Procedure Lire(R : Reel Sortie);
Fonction LireUneLigne(C: Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Fonction LireUnMot(C : Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Procedure Ecrire(B : Nul Ou Booleen);
Procedure Ecrire(C : Nul Ou Binaire);
Procedure Ecrire(C : Nul Ou Caractere);
Procedure Ecrire(E : Nul Ou Entier);
Procedure Ecrire(R : Nul Ou Reel);
Procedure Fermer();
Fonction Optimiser(Invariant) LirePageDeCode() Retourner PagesDeCodesSupportees;
Procedure ChangerPageDeCode(P : PagesDeCodesSupportees);
/*-------------------------------------------------------------*/
/* Heritage des methodes de ICanal. */
/*-------------------------------------------------------------*/
Fonction Optimiser(Invariant) Protocole() Retourner Caractere;
Fonction Optimiser(Invariant) Adresse(ProtocoleDuClient : Booleen) Retourner Caractere;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Constructeur(NomDuCanal : Caractere, Port : Entier=0, TailleBufferIO : Entier=-1);
Procedure ServirDesClients(NbClientsMax : Entier);
Procedure AccepterUnClient(Port : Entier Sortie);
Procedure AccepterUnClient(Port : Entier Sortie, AdresseIp1 : Entier Sortie, AdresseIp2 : Entier Sortie, AdresseIp3 : Entier Sortie, AdresseIp4 : Entier Sortie);
Fonction TenterDAccepterUnClient(Port : Entier Sortie) Retourner Booleen;
Fonction TenterDAccepterUnClient(Port : Entier Sortie, AdresseIp1 : Entier Sortie, AdresseIp2 : Entier Sortie, AdresseIp3 : Entier Sortie, AdresseIp4 : Entier Sortie) Retourner Booleen;
Procedure ConnecterAUnServeur(Port : Entier, AdresseIp1 : Entier=0, AdresseIp2 : Entier=0, AdresseIp3 : Entier=0, AdresseIp4 : Entier=0);
Procedure ConnecterAUnServeur(NomDuPort : Entier, NomDuServeur : Caractere);
Fin Type
Si une erreur survient lors de la création du canal, l'exception CreationCanalImpossible est envoyée.
Source Composant "Exemple de serveur" Version 1.0.0;
Variable
C : Nul Ou CanalTcpIp;
/* ICanal du serveur. */
L : Caractere;
Principal
Debut
C=CanalTcpIp("Serveur", 1632);
C=ServirDesClients(10);
TantQue Vrai Faire
Si C.TenterDAccepterUnClient(Port) Alors
/* Il y a un nouveau client. */
?=C.LireUneLigne(L,256);
C.Ecrire(L.Majuscule());
C.Fermer();
Fin Si
Attendre(10);
Fin TantQue
Fin Principal
Source Composant "Exemple de client" Version 1.0.0;
Variable
C : Nul Ou CanalTcpIp;
/* ICanal du client. */
L : Caractere;
Principal
Debut
C=ICanal("Client");
/* On établit une session avec le serveur. */
C.ConnecterAUnServeur(1632);
C.Ecrire("bonjour le monde");
/* On attend la réponse. */
?=C.LireUneLigne(L, 256):
C.Fermer();
/* On écrit la réponse. */
Ecran.Ecrire(L);
Fin Principal
TcpIpMittel | TcpIpMedium | TcpIp媒介 | MedioTcpIp | - | - | - | - |