Proxy-servere gir funksjonen til å fungere som en videresending server mellom en klientdatamaskin og en annen server. Når en person eller en annen datamaskin gjør en anmodning fra den eksterne serveren , vil fullmakten datamaskin server videresende både klientdatamaskinen forespørsel, samt den eksterne serveren respons tilbake . Begge maskinene har dataene videresendes til dem vet ikke at fullmakten er å gjøre tilkoblinger for begge. Som et resultat, har de proxy server for å være i stand til å fylle både klient (forespørsel og motta ) , og serveren ( svare på forespørsler) roller hverandre. Du trenger
Java utviklingsmiljø
Vis flere instruksjoner
en
Last ned og installer den nyeste java standard utviklerens kit fra Sun Microsystems , hvis det ikke allerede er installert på datamaskinen (se Resources nedenfor) . Åpne en teksteditor eller integrert utviklingsmiljø . For å støtte kryss- kompatibilitet mellom klient og server roller som proxy-serveren må oppfylle, er et felles grensesnitt definert for å sikre data kompatibilitet. Java IO og Net bibliotekene er importert og tre vanlige metoder er definert for Proxy-server til redskaper : . Import java.io. * ; import java.net * ; grensesnitt mySockets { String Readline ( ) ; void wrtieLine ( String myString ); ugyldig kast (); }
2
Definer Prozy klasse ved å implementere SocketInterface . Klassen konstruktøren tar tre argumenter : 1 - The Host IP -adresse, port og om det skulle vente på en tilkobling eller not.public klasse SocketProxy implementerer mySockets {private Socket mySocket ; private BufferedReader myIn ; privat PrintWriter myOut , offentlige SocketProxy ( String myhost , int myPort , boolean myWait ) {
3
Vent en ny tilkobling skal etableres . Når en gyldig tilkobling er opprettet, blir en BufferedReader input stream åpnet og gått over til en PrintWriter klasse output stream , som vil bli brukt til å videresende information.try { if ( myWait ) { ServerSocket minserver = new ServerSocket ( myPort ) ; mySocket = minserver . akseptere ( ) ;} elsemySocket = new Socket ( myhost , myPort ) ; myIn = new BufferedReader ( ny InputStreamReader ( mySocket.getInputStream ( ) )); myOut = ny PrintWriter ( mySocket.getOutputStream ( ) , true); } catch ( IOException e ) { e.printStackTrace (); } }
4
Bruk readline metod er å lese input stream og gå tilbake til WriteLine metoden, som brukes til å sende informasjonen til output stream til sendes videre til klienten ( eller mottar ) computer.public String readline ( ) { String myString = null ; try { myString = myIn.readLine (); } catch ( IOException e ) { e.printStackTrace (); } retur myString ; } public void WriteLine ( String myString ) { myOut.println ( myString ) ;}
5
Lukk nettverk socket når Proxy -serveren er ferdig med å sende informasjon mellom klient og server connections.public ugyldig kast ( ) { try { mySocket.close (); } catch ( IOException e ) { e.printStackTrace (); } } }