有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在客户端断开连接后,java进程是否仍在继续

当客户机过早地从服务器请求断开连接时,服务器是否仍然执行其余的工作
具体地说,在Java Servlet doGet中,如果我有以下代码:


public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException 
{
   A();  //client disconnects after A(); 
   B(); 
   C();  
}

if client disconnects after A() is finished, would B and C still get executed?

共 (2) 个答案

  1. # 1 楼答案

    视情况而定

    如果在A()(或任何其他方法)期间,您试图将响应(使用res)发送回客户端,IOException将被抛出。如果未被捕获,它将终止servlet的执行

    否则,计算将继续进行,并在^{之后退出

  2. # 2 楼答案

    是的,会的。服务器直到尝试将某个内容写入输出流(作为响应)时才知道断开连接的情况。事件,然后由于中间的代理服务器或由于输出流缓冲,可能很难知道客户端已断开连接