2016-04-05 15 views
0

İstemcinin ana sunucuya yönlendirilmeden önce engellenmediğinden emin olmak için kontrol eden bir Java HTTP sunucusu oluşturuyorum. Sunucu için gereken her şeyi zaten oluşturdum, ana sunucuyu çalıştıran başka bir bağlantı noktasına nasıl yönlendirileceğini bilmiyorum. İşte benim kodum:Java-Run Sunucusunda Yönlendirme İstemcisi

package netlyaccesscontrol; 

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.net.ServerSocket; 
import java.net.Socket; 


public class AllowedCheck { 
    public static void main(String[] args) { 
     String line = null; 
     try { 
      FileReader reader = new FileReader("Banned.txt"); 
      BufferedReader buffer = new BufferedReader(reader); 
      ServerSocket s = new ServerSocket(80); 
      Socket c = s.accept(); 
      String clientIP = c.getInetAddress().toString(); 
      while ((line = buffer.readLine()) != null) { 
       if (clientIP == line) { 
        s.close(); 
       } else { 
        // redirect to main server here 
       } 
      } 
     } catch (FileNotFoundException ex) { 
      System.out.println("The banned IP address file does not exist."); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

cevap

0

Düşündüğünüz yönlendirme HTTP ve tarayıcılar tarafından desteklenen bir şeydir. Arayanın yönlendirmesi ve bunu belirtmenin bir yolunu bildiren belirli bir HTTP yanıt kodu vardır.

Ham soketler, yönlendirmeyi beklediğiniz gibi desteklemeyen düşük düzey bir ağ protokolüdür. Yapabileceğin en iyi şey, bu programın bir vekil olması ve başarılı olduğunda, gelen tüm veriyi/giden yanıtları nihai sunucudan/sunucusuna göndermesidir. Ama burada sahip olduğunuz şey onu hiçbir şekilde kesmeyecek.