Proxy servrar att fungera som fungerar som en vidarebefordran server mellan en klientdator och en annan server . När en person eller annan dator gör en förfrågan på fjärrservern , kommer proxy datorserver vidarebefordra både begäran klientdatorn samt fjärrservern svar tillbaka . Båda datorerna har de uppgifter som lämnats till dem vet inte att fullmakten gör anslutningarna för båda . Som ett resultat har den proxyserver för att kunna fylla både klienten ( begäran och ta emot ) och servern ( svara på förfrågningar ) roller omväxlande. Saker du behöver Review, Java utvecklingsmiljö
Visa fler instruktioner
1
Ladda ner och installera den senaste java standard utvecklare Kit från Sun Microsystems , om de inte redan installerat på din dator ( se Resources nedan ) . Öppna en textredigerare eller din integrerad utvecklingsmiljö . För att stödja den gränsöverskridande kompatibilitet mellan klient och server roller som proxyserver måste uppfylla , är ett gemensamt gränssnitt som definieras för att säkerställa uppgifternas kompatibilitet . Java IO och Netto bibliotek importeras och tre vanliga metoder definieras för den proxyserver redskap : . Import java.io. * , import java.net * , gränssnitt mySockets { String readline ( ) , void wrtieLine ( String MyString ) ; ogiltig avyttra ( ) ;}
2
Definiera Prozy klassen genom att genomföra SocketInterface . Den Klasskonstruktorn tar tre argument : 1 - The Host IP-adress , port och om det ska vänta på en anslutning eller not.public klass SocketProxy implementerar mySockets { private Socket mySocket , privata BufferedReader Myin , privat PrintWriter myOut , offentlig SocketProxy ( String myhost , int myPort , boolean myWait ) { Addera 3
Vänta en ny anslutning upprättas . När en giltig anslutning är upprättad, visas ett BufferedReader input stream öppnas och skickas till en PrintWriter klass utdataström , som kommer att användas för att vidarebefordra information.try {if ( myWait ) { ServerSocket myserver = ny ServerSocket ( myPort ) , mySocket = myserver . acceptera ( ) ;} elsemySocket = new Socket ( myhost , myPort ) ; Myin = ny BufferedReader ( ny InputStreamReader ( mySocket.getInputStream ( ) ) ) ; myOut = ny PrintWriter ( mySocket.getOutputStream ( ) , true ) ; } catch ( IOException e ) { e.printStackTrace ( ) ;} }
4
Använd readline metod är att läsa den ingående strömmen och återgå till writeLine metod , som används för att vidarebefordra informationen till den utgående strömmen till överlämnas till kunden ( eller emot ) 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
Stäng nätverksuttag när proxyservern görs med att skicka information mellan klient och server connections.public void avyttra ( ) { try { mySocket.close ( ) ;} catch ( IOException e ) { e.printStackTrace ( ) ;} } } Addera