2016-04-05 18 views
0

メインサーバーにリダイレクトする前にクライアントが禁止されていないことを確認するJava HTTPサーバーを作成しています。私はすでに必要なサーバーのためのすべてを作成して、私はちょうどメインサーバーを実行している別のポートにリダイレクトする方法を知らない。ここに私のコードです:Java実行サーバーのリダイレクトクライアント

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(); 
     } 
    } 
} 

答えて

0

あなたが考えているリダイレクトは、HTTPとブラウザでサポートされているものです。呼び出し側にリダイレクトを指示する特定のHTTP応答コードと、それを指定する方法があります。

ローソケットは、期待どおりにリダイレクトをサポートしない低レベルのネットワークプロトコルです。できるだけ多くのことができるのは、このプログラムをプロキシにして、成功するとすべての着信データ/発信応答を最終的なサーバーとの間でプッシュすることです。しかし、ここにあなたが何を持っているかは決してそれをカットすることではありません。

関連する問題