我正在尝试编写一个充当代理服务器的程序。 代理服务器基本上侦听给定端口(7575)并将请求发送到服务器。 截至目前,我没有实现缓存响应。
代码看起来像
ServerSocket socket = new ServerSocket(7575);
Socket clientSocket = socket.accept();
clientRequestHandler(clientSocket);
我更改了上面的代码如下://从另一个方法中调用相同的clientRequestHandler方法。
Socket clientSocket = socket.accept();
Thread serverThread = new Thread(new ConnectionHandler(client));
serverThread.start();
class ConnectionHandler implements Runnable {
Socket clientSocket = null;
ConnectionHandler(Socket client){
this.clientSocket = client;
}
@Override
public void run () {
try {
PrxyServer.clientRequestHandler(clientSocket);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
使用该代码,我可以打开像谷歌这样的网页。但是,如果我打开另一个网页,即使我完全收到第一个响应,我也会通过同行期间重置连接。
1。我该如何处理这个问题 我可以使用线程来处理不同的请求。有人可以在我查找实现线程的示例代码时提供参考。