c++ PaDy



Vous souhaitez être prévenu si cette page change !
mail




Débuter la programmation ?

Se rappeler que tout programme même le plus petit à une entrée standard (std in) et une sortie standard (std out).

programme

Si joint, des exemples d'utilisation des plus simples des programmes. A exécuter dans une fenêtre de commande sous Windows.

Exemple 1
Pour afficher le contenu du fichier TEST.TXT préalablement copier sur le disque dur.
TYPE TEST.TXT
en d'autre terme, l'instruction TYPE écrit le contenu d'un fichier dans la sortie standard.
Remarque que le programme TYPE ne lit jamais son entrée standard.

Exemple 2
Pour afficher le contenu du fichier TEST.TXT trier par ordre croissant.
TYPE TEST.TXT | SORT
En d'autre terme, l'instruction SORT écrit son entrée standard triée dans la sortie standard.
pipe
Le pipe '|' permet de rediriger la sortie standard de l'instruction TYPE vers l'entrée standard de SORT

Exemple 3
Pour afficher le contenu du répertoire.
DIR
Exemple 4
Pour afficher le contenu du répertoire trier par ordre croissant.
DIR | SORT

Exemple 5
Pour trier par ordre croissant ce qui est tapé au clavier (dans l'entrée standard).
taper :
SORT
puis taper :
aaa
zzz
eee
rrr
ttt
yyy
Puis tape : Ctrl + Z pour fermer l'entrée standard.
Puis tape "entrée" pour valider la fermeture de l'entrée standard.
A ce moment là, le trie est calculé et est affiché.
le résultat vu à l'écran doit être à peu près ça :
C:\WINDOWS\Bureau>SORT
AAA
ZZZ
EEE
RRR
TTT
YYY
^Z
AAA
EEE
RRR
TTT
YYY
ZZZ
C:\WINDOWS\Bureau>

Pour plus de détails sur la gestion des entrée/sortie (e/s), en anglais Inputs/Outputs (i/o) voir le site www.felix-colibri.com


Tube réeseau

Fichier : TubeReseau.zip
Binaires pour Windows : PipeSrv.exe, PipeCli.exe

Le tube réseau est un projet C++ qui à pour objectif d'étendre l'utilisation d'un pipe au travers d'un réseau. TubeReseau.zip contient les sources et les deux projets pour compiler dans environnement "Visual C++ (vcpp) sous Wondows" et environnement "gpp sous Linux".
+---TubeReseau
    +---doc
    +---include
    +---projet
    ¦   +---gpp
    ¦   +---vcpp
    ¦       +---PipeCli
    ¦       +---PipeSrv
    +---src
    +---test
Executable Usage
PipeSrv.exe -h
Tube Réseau (Serveur)

description:
  Le Tube Serveur attend la connexion du Tube Client. Après connexion il
  joue le rôle de répéteur bidirectionnel.

utilisation:
  PIPESRV.EXE [ -s <prog serveur> | -b ] [ -p <port> ]

parameres:
  -s <prog serveur> -- un exécutable qui utilise son entrée/sorti standard.
  -b                -- serveur en boucle fermée. Le Tube Serveur renvoie
                       tous ce qu'il reçoit
  -p <port>         -- le numéro de port sur lequel le Tube Serveur attant
                       le Tube Client. Par défaut <port> = 1066

remarques:
  Le Tube Serveur prend possession de entrée/sortie de <prog serveur>.
  Le Tube Client communique avec le <prog serveur> de façon transparente.

  Si <prog serveur> n'est pas spécifié, le Tube Serveur utilise sa propre
  entre/sortie standard.
PipeCli.exe -h
Tube Réseau (Client)

description:
  Le Tube Client se connecte au Tube Serveur puis il joue le rôle de
  répéteur bidirectionnel. Il transmet tous ce qu'il lit dans son entrée
  standard et écrit, tous ce qu'il reçoit du Tube Serveur, dans sa sortie
  standard.

utilisation:
  PIPECLI.EXE [ -a <adrIP> ] [ -p <port> ] [ -v ] [ -c ]

parameres:
  -a <adrIP> -- adresse TCP/IP du Tube Serveur.
  -p <port>  -- port de connexion au serveur.
  -v         -- affiche l'état de la connexion. mode verbose.
  -c         -- verifit si le serveur est presant. mode check.

remarques:
  Les valeurs de <adrIP> et de <port> sont stockées en tant que valeurs par
  défaut dans le fichier <Dir>/pipeCli/pipeCli.ini s'il existe.
    Sous Linux <Dir> est égal à $HOME
    Sous Windows NT <Dir> est égal à %USERPROFILE%

  Si <adrIP> ou <port> n'est pas spécifié, la valeur par défaut est
  utilisée.

  Si la valeur par défaut n'est pas spécifiée, la valeur utilisée est :
   - L'adresse locale de la machine (127.0.0.1) pour <adrIP>
   - la valeur 1066 pour <port>

  En mode check le client fait une connexion puis se deconecte. le resultat  est le suivant :
   - en mode normal, 0 signifit pas de serveur et 1 serveur presant
   - en mode verbose, le resultat est en texte.


Quelques exemples :
But Commande(s) Explication
Utilisation d'un pipe
Processus1 | Processus2
La sortie standard du Processus1 et connecté à l'entrée standard du Processus2.
Utilisation du tube réseau comme un pipe 2 exécutions dans des fenêtres de commande différents :
PipeSrv -s Processus2
+
Processus1 | PipeCli
L'avantage est que le Processus1 et le Processus2 peuvent s'exécuter sur les ordinateurs diffèrent et sur des systèmes d'exploitation différents.
Utilisation pour chater 2 exécutions dans des fenêtres de commande différents :
PipeSrv
+
PipeCli
Tout ce qui est taper dans une des deux fenêtres apparaît dans l'autre fenêtre.
Utilisation pour intercepter des requêtes http
PipeSrv -p 80
Se comporte comme un serveur web local. aller sur http://localhost pour voir la requête http du client web.