Bonjour,
je cherche à ré-écrire une application (écrite en PHP) en Java. Voici comment j'ai conçu l'appli pour le langage PHP :
- Récupération dans un fichier de configuration de l'ensemble des protocoles à gérer ainsi que des ports d'écoute associés (eg: ftp => 21, http => 80 etc...)
- Pour chacun des ports, ouverture d'un socket d'écoute.
- Création d'une boucle infinie (eg: while(true)) qui :
- Accepte les connections sur le port d'écoute, lui attribut un nouveau port et créer une nouvelle session correspondant (new session($socket)).
- Traite les actions liées aux sessions (function iterate()).
- Fermeture de tous les sockets encore ouverts.
Ensuite ces 4 étapes sous enfermés dans une boucle infinie.
Concernant l'objet session appelé par la classe server, il se limite à une serie de méthodes :
Enfin pour chaque protocol supporté, une nouvelle classe session_{protocol} étend les fonctionnalité de la classe session en suchargeant la function iterate().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class session { private $sock; // Socket d'écoute private $data; // Socket de données pour les connection passives (eg: FTP) private $pasv; // Booleen (true:mode passif;false:mode actif) private $tt; // Tranfert Type (Binaire ou ASCII) private function __construct($sock) // Stocke le socket $sock dans la varible $this->sock; private function open() // Ouvre un nouveau socket private function read() // Lit le données private function write() // Ecrit la reponse private function close() // Ferme la session private function error() // Error handler public function iterate() // Gère les réactions de l'object //... }
Partager