1

以传统方式,对于每个客户端请求,我都会得到 servlet 响应。
像这样的东西:

HttpResponse response = client.execute(request)

现在我想在每个时间间隔从我的 servlet 获取更新。
我怎样才能捕捉到服务器的响应?

为了比较,当我使用套接字时,代码看起来像这样:

public void run()
{
    while(true)
    {            
        Object serverMessage = inStream.readObject();               
        // Do somthing with serverMessage
    }
}
4

2 回答 2

1

不,客户端将不得不发出更多请求,然后服务器-> servlet 会响应这些请求。

但是,您可以(例如通过 Javascript)尝试让客户端定期发送请求。

于 2012-04-18T22:50:43.427 回答
1

您可以使用称为长轮询的方法模拟服务器到客户端的推送,在此处解决: 长轮询示例
HTTP 是请求驱动的协议。您可以根据自己的工作探索其他消息传递协议。从 Web Sockets 到基本 TCP,再到在 tcp 之上构建表面上更丰富的 api 的各种框架,应有尽有。你想达到什么目的?

于 2012-04-19T00:37:30.283 回答