重定向Java Run Server中的客户端



我正在创建一个Java HTTP服务器,该服务器在重定向到主服务器之前进行检查以确保客户端没有被禁止。我已经为服务器创建了所需的一切,只是不知道如何重定向到运行主服务器的另一个端口。这是我的代码:

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

您正在考虑的重定向是HTTP和浏览器支持的。有一个特定的HTTP响应代码告诉调用方重定向和指定它的方法

原始套接字是一种低级网络协议,不会像您所期望的那样支持重定向。你所能做的最多的事情就是让这个程序成为一个代理,一旦成功,将所有传入的数据/传出的响应推送到最终服务器。但你在这里所拥有的并不是要削减它。

最新更新