【发布时间】:2015-06-14 12:01:56
【问题描述】:
我已经构建了一个 java 代理,它可以工作,但只允许 1 个客户端。我知道我需要做多线程,这就是我这样做的原因,所以它会打开新线程,但由于某种原因我无法让它工作......
这是我的代理类:
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 让我很困惑 :( 把它放在一个循环中但没有用..
标签: java multithreading sockets proxy