bonjour,
j'ai developpe un proxy en Java.
Le Proxy.java contient donc la ServerSocket ainsi qu'une infinite loop sur l'acceptation de connections.
Lorsque qu'un client se connecte, un InputThread est cree via un InputManager puis il est start.
Cet InputThread procede a une phase d'authentification qui si succes bascule sur la fonction proxy avec une autre socket de l'autre cote.
Bref, j'aimerai ajouter du monitoring au proxy. Potentiellement etre capable en temps reel de parcourir toutes mes InputThread, voir ce qu'ils sont en train de faire: en quelque sorte hook la socket client afin de voir (pourquoi pas modifier) le traffic qui y passe.
Je me demande comment faire cela en modifiant le moins possible le code actuel afin de pouvoir simplement activer ou desactiver cette fonction monitoring.
Je pense creer un thread dans Proxy.java contenant un autre server dans lequel les client auront acces a l'architecture globale. Apres ca devient un peu confus...
Y a t'il un moyen simple pour dupliquer les BufferedReader/PrintStream ou les buffers qu'ils utilisent via un systeme d'observateur/notifyer? Dois je manuellement copier les flux sur ma/mes socket(s) monitoring si elle(s) est/sont presente(s)?
Merci de partager vos idees. Est ce gerable d'avoir potentiellement un nombre illimite de connections monitor ou vaut il mieux n'en considerer qu'une seule?
Cordialement,
Eric
Partager