netcrusher java
1.0.0
NetCrusher est le cadre proxy TCP / UDP pour Java et un outil de ligne de commande qui pourrait être placé au milieu entre tout client et serveur et permet de vérifier les deux côtés pour le basculement.
Netcrusher est construit au-dessus de Java 8 Nio et n'a pas de dépendances externes sauf SLF4J.
Lire la documentation.
Téléchargez le dernier dist.tar.gz pour obtenir l'outil de ligne de commande.
NioReactor reactor = new NioReactor ();
TcpCrusher crusher = TcpCrusherBuilder . builder ()
. withReactor ( reactor )
. withBindAddress ( "localhost" , 10080 )
. withConnectAddress ( "google.com" , 80 )
. buildAndOpen ();
// ... some actions
// emulate reconnect
crusher . reopen ();
// ... check the client connection is reestablished successfully
// closing
crusher . close ();
reactor . close (); NioReactor reactor = new NioReactor ();
DatagramCrusher crusher = DatagramCrusherBuilder . builder ()
. withReactor ( reactor )
. withBindAddress ( "localhost" , 10188 )
. withConnectAddress ( "time-nw.nist.gov" , 37 )
. buildAndOpen ();
// ... some actions
// check data is sent
Assert . assertTrue ( crusher . getInner (). getReadDatagramMeter (). getTotal () > 0 );
// closing
crusher . close ();
reactor . close ();Vérifie les échantillons supplémentaires dans le dossier racine du projet:
Pour la QA manuelle, l'emballage de ligne de commande est disponible à la fois pour TCP et le mode Datagram
$ ./run-tcp-crusher.sh 127.0.0.1:12345 google.com:80
# Version: 0.8
# Print `HELP` for the list of the commands
# enter the command in the next line
CLOSE
[20:19:20.586] INFO TcpCrusher </127.0.0.1:12345>-<google.com/64.233.161.101:80> is closed
[20:19:20.586] INFO Crusher is closed
# enter the command in the next line
OPEN
[20:19:21.655] INFO TcpCrusher </127.0.0.1:12345>-<google.com/64.233.161.101:80> is open
[20:19:21.655] INFO Crusher is open
En savoir plus sur le mode de ligne de commande dans Wiki.
< dependency >
< groupId >com.github.netcrusherorg</ groupId >
< artifactId >netcrusher-core</ artifactId >
< version >0.10</ version >
</ dependency >Voir la page Wiki
APCAChe License version 2.0, http://www.apache.org/licenses/license-2.0.html