Tecnología

Inicio

Cómo crear un servidor proxy en Java

Cómo crear un servidor proxy en Java


Los servidores proxy proporcionan la función de actuar como un servidor de reenvío entre un equipo cliente y otro servidor. Siempre que una persona u otro equipo hace una petición del servidor remoto, el servidor de equipo proxy reenviará tanto la solicitud del ordenador cliente, así como la respuesta del servidor remoto de nuevo. Tanto los equipos que tengan los datos remitidos a ellos no saben que el proxy está haciendo las conexiones para ambos. Como resultado, el servidor proxy tiene que ser capaz de llenar tanto el cliente (solicitar y recibir) y el servidor (responder a las solicitudes) papeles indistintamente.

Instrucciones

1 Descargar e instalar el juego de la última norma de desarrollador Java de Sun Microsystems, si no está ya instalado en el ordenador (ver Recursos más adelante). Abra un editor de texto o de su entorno de desarrollo integrado. Con el fin de apoyar la compatibilidad cruzada entre las funciones de cliente y servidor que necesitará el servidor proxy para cumplir, se define una interfaz común para asegurar la compatibilidad de los datos. El Java IO y bibliotecas netas son importados y tres métodos comunes se definen para el servidor proxy de implementos:
import

java.io.;
import java.net.;
mySockets interfaz
{
Cadena readLine ();
wrtieLine anular (String miCadena);
dispose void ();
}

2 Definir la clase Prozy mediante la implementación del SocketInterface. El constructor de la clase tiene tres argumentos: 1 - La dirección, puerto host IP y si debe esperar una conexión o no.
clase pública implementa SocketProxy mySockets
{
mySocket Socket privada;

Myin BufferedReader privada;
myOut PrintWriter privada;
SocketProxy (String myhost, int MyPort, myWait booleano) pública
{

3 Espere a que se establezca una nueva conexión. Una vez que se establece una conexión válida, un flujo de entrada BufferedReader se abre y se hace pasar a un flujo de salida de clase PrintWriter, que se utiliza para reenviar la información.

try {
if (myWait) {
ServerSocket myServer = new ServerSocket( myPort );
mySocket = myServer.accept();
}
else
mySocket = new Socket( myHost, myPort );
myIn = new BufferedReader( new InputStreamReader(
mySocket.getInputStream()));
myOut = new PrintWriter( mySocket.getOutputStream(), true );
} catch( IOException e ) { e.printStackTrace(); }

}

4 Utilizar el métodos readLine es leer el flujo de entrada y volver al método WriteLine, que se utiliza para pasar la información al flujo de salida que se transmitirá en el cliente (o recibir) del ordenador.
Cadena readLine pública () {

String myString = null;
try { myString = myIn.readLine();
} catch( IOException e ) { e.printStackTrace(); }
return myString;

}
pública writeLine vacío (miCadena String) {

myOut.println( myString );

}

5 Cierre la toma de red cuando el servidor proxy se realiza con la transmisión de información entre las conexiones de cliente y servidor.
public void Dispose () {

try {
mySocket.close();
} catch( IOException e ) { e.printStackTrace(); }

}}