2 回答
TA贡献1835条经验 获得超7个赞
您在客户端完成之前关闭客户端连接。在你的 Server 类中试试这个:
@Override
public void run()
{
try (BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); BufferedWriter output = new BufferedWriter(new PrintWriter(clientSocket.getOutputStream())))
{
while (clientSocket.isConnected())
{
String req = getRequest(reader);
setResponse(output, req);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
clientSocket.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
TA贡献2016条经验 获得超9个赞
您的服务器在发送响应后似乎关闭了套接字。之后,客户端将无法在不打开新连接的情况下发送更多请求。通常,服务器允许客户端控制连接的命运,以便客户端可以发送多个请求。您的客户端可以发送“关闭”请求,以向服务器表明客户端打算关闭套接字并且不希望得到响应。
添加回答
举报