Come creare un server proxy in Java

April 20

Come creare un server proxy in Java


I server proxy forniscono la funzione di agire come un server di inoltro tra un computer client e un altro server. Ogni volta che una persona o un altro computer fa una richiesta del server remoto, il server computer proxy inoltrerà la richiesta sia computer client, nonche la risposta server remoto indietro. Entrambi i computer con i dati trasmessi loro non sanno che il proxy sta facendo i collegamenti per entrambi. Di conseguenza, il server proxy deve essere in grado di riempire sia il client (richiesta e ricevere) e il server (rispondere alle richieste) ruoli intercambiabile.

istruzione

1 Scaricare e installare l'ultimo kit di Java Standard dello sviluppatore di Sun Microsystems, se non è già installato sul computer (vedi Risorse). Aprire un editor di testo o il vostro ambiente di sviluppo integrato. Al fine di sostenere il cross-compatibilità tra i ruoli client e server che il server proxy avrà bisogno di compiere, un'interfaccia comune è definita per garantire la compatibilità dei dati. Il Java IO e librerie netti sono importati e tre metodi più comuni sono definiti per il server proxy per gli attrezzi:
import

java.io.;
import java.net.;
mySockets interfaccia
{
String readLine ();
annullare wrtieLine (String myString);
dispose void ();
}

2 Definire la classe Prozy implementando il SocketInterface. Il costruttore della classe prende tre argomenti: 1 - L'Host IP indirizzo, la porta e se deve attendere per una connessione o meno.
public class SocketProxy implementa mySockets
{
Presa mysocket privato;

privato BufferedReader Myin;
privato PrintWriter myOut;
pubblico SocketProxy (String myhost, int myport, myWait booleano)
{

3 Attendere un nuovo collegamento da stabilire. Quando la connessione viene stabilita valida, un flusso di input BufferedReader viene aperto e passato a un flusso di uscita di classe PrintWriter, che verrà utilizzato per trasmettere le informazioni.

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 Utilizzare il metodo descritto readLine è quello di leggere il flusso di input e tornare al metodo WriteLine, che viene utilizzato per passare le informazioni nel flusso di output da trasmettere al computer client (o la ricezione).
public String readLine () {

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

}
WriteLine public void (String myString) {

myOut.println( myString );

}

5 Chiudere la presa di rete quando il server proxy è fatto con il passaggio di informazioni tra le connessioni client e server.
public void Dispose () {

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

}}