我已經構建了一個java代理,它的工作原理,但只允許1個客戶端。我知道,我需要做的多線程這就是爲什麼我已經做到了,因此打開了新的線程,但我不能讓它出於某種原因...Java製作代理套接字多線程
這是我的代理類:
public class Proxy {
private static ServerSocket server;
private static int port = 9339;
private static String originalHost = "game.boombeachgame.com";
public static void main(String[] args) throws FileNotFoundException {
System.out.println("INFO: Proxy started");
new Thread(new Runnable() {
@Override
public void run() {
Proxy.startThread();
}
}).start();
}
public static void startThread() {
try {
server = new ServerSocket(port);
Socket clientSocket = server.accept();
new Thread(new Server(originalHost)).start();
new Thread(new Client(clientSocket)).start();
} catch (Exception e) {
System.out.println(e);
}
}
}
您需要調用accept()並啓動線程來處理循環中接受的套接字。 – EJP
@EJP困惑我:(把它放在一個循環中,但沒有工作.. –