NetCrusher es el marco proxy TCP/UDP para Java y una herramienta de línea de comandos que podría colocarse en el medio entre cualquier cliente y servidor y permite verificar ambos lados para la conmutación por error.
Netcrusher se basa en la parte superior de Java 8 NIO y no tiene dependencias externas, excepto SLF4J.
Leer documentación.
Descargue el último dist.tar.gz para obtener la herramienta de línea de comandos.
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 ();Comprueba muestras adicionales en la carpeta de la raíz del proyecto:
Para Manual QA, el envoltorio de línea de comandos está disponible tanto para TCP como para el modo de datagrama
$ ./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
Más sobre el modo de línea de comando en wiki.
< dependency >
< groupId >com.github.netcrusherorg</ groupId >
< artifactId >netcrusher-core</ artifactId >
< version >0.10</ version >
</ dependency >Ver Wiki Página
Apache Licencia Versión 2.0, http://www.apache.org/licenses/license-2.0.html