【发布时间】:2015-05-08 08:47:03
【问题描述】:
我目前有一个客户端 -> 服务器模型,客户端定期推送数据。我在服务器上使用带有 servlet 的 Jersey 来响应传入的请求。
由于这是一个数据同步步骤,一旦服务器接收到数据,需要向客户端返回一个OK消息。
作为测试,我将服务器处理为“/testResponse”的路径,它所做的只是:
@GET
@Path("/testResponse")
@Produces(MediaType.TEXT_PLAIN)
public String GET_testResponse() {
System.out.println("Received test request...");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Returning response...");
return "message received!";
}
我想测试的是我从客户端发起请求,但是当客户端等待 5 秒时,客户端退出请求,模拟它与无线断开连接。在这 5 秒结束后,服务器返回消息(没有抛出错误)。
我想我的问题很简单:有没有办法让服务器知道客户端是否收到了响应,因为没有抛出异常等?当您尝试处理回复?我知道在球衣之外,您可以使用 HttpServletResponse 方法在函数退出之前实际响应,所以我想知道我是否需要类似的东西。
谢谢!
【问题讨论】: