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 proxy de ordenador remitirá tanto a la solicitud de equipo de cliente , así como la respuesta del servidor remoto de nuevo . Tanto los equipos que tengan los datos enviados a ellos no saben que el proxy está haciendo las conexiones para los dos. Como resultado , el servidor proxy tiene que ser capaz de llenar tanto el cliente ( petición y recibir ) y el servidor ( responder a las solicitudes ) papeles intercambiable . Cosas que necesitará
entorno de desarrollo Java
Mostrar más instrucciones
1
Descargar e instalar la última versión del kit estándar desarrollador java de Sun Microsystems, si no está ya instalado en su equipo ( ver Recursos más adelante ) . Abra un editor de texto o el entorno de desarrollo integrado. Con el fin de apoyar la compatibilidad cruzada entre los roles de cliente y servidor que tendrá el servidor proxy de cumplir, se define una interfaz común para asegurar la compatibilidad de los datos. El IO Java y bibliotecas de red son importados y tres métodos comunes se definen para el servidor Proxy para implementos : . Import java.io. * ; import java.net * ; mySockets interfaz {String readLine () ; wrtieLine void (String miCadena ) ; anular dispose ( ) ;}
2
Definir la clase prozy implementando la SocketInterface . El constructor de la clase toma tres argumentos : 1 - The Host Dirección IP , puerto y si debe esperar una conexión o SocketProxy clase not.public implementa mySockets {private Socket mySocket ; privado BufferedReader Myin ; myOut PrintWriter privado; SocketProxy pública (String MyHost , int MyPort , booleano myWait ) {
3
Espere a que una nueva conexión se ha establecido. 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 el information.try { si ( myWait ) { ServerSocket miServidor = nueva ServerSocket ( MyPort ) ; mySocket = miServidor . accept () ;} elsemySocket = new Socket ( myhost , MyPort ) ; Myin = new BufferedReader ( nuevo InputStreamReader ( mySocket.getInputStream ()) ) ; myOut = new PrintWriter ( mySocket.getOutputStream () , true) ; } catch ( IOException e) { e.printStackTrace () ;} }
4
Utilice el readLine metod es leer el flujo de entrada y volver al método WriteLine , que se utiliza para transmitir la información de la secuencia de salida de se transmitirá en el cliente ( o recibir ) readLine cadena computer.public () {String miCadena = NULL; try { miCadena = myIn.readLine (); } catch ( IOException e) { e.printStackTrace () ;} miCadena retorno; } public void writeLine (String miCadena ) { myOut.println ( miCadena ) ;}
5
Cerrar la toma de red cuando el servidor proxy se realiza con la transmisión de información entre el cliente y el servidor void connections.public disponer () {try { mySocket.close (); } catch ( IOException e) { e.printStackTrace () ;} } }