我创建了一个 Web 应用程序,它提供网站服务。
我计划创建一个 WebServlet API,以允许其他软件(Web 或桌面)轻松集成我的服务,调用简单的操作如下:
http://www.server_name.com/APIServlet?ACTION=CreateUser&DATA={"username":"username@gmail.com","password":"some_password"}
问题在于,API 还应该提供一种在发生给定更改后立即将数据异步发送到 API 客户端的方法。
我知道 Channel API 是实现此目的的更好方法,但对于 API 用户来说实现起来相当复杂,特别是在非 javascript 应用程序中。
在我看来,需要 API 用户更少精力的更好解决方案是“长轮询”,提供一个 API 操作来保存响应,直到服务器有东西要返回或发生“超时”。例如:
http://www.server_name.com/APIServlet?ACTION=WaitMessage&DATA={"sessionId":"12kdj45jsdj"}
但据我所知,这个解决方案是不可能的,因为 appengine 将请求响应限制为 30 秒。
如何以简单的方式使用 HTTP 请求实现异步服务器 -> 客户端通信。
最佳答案
GAE 上唯一的异步服务器到客户端通信可通过 Channel API 获得。 。不幸的是它只是 JavaScript,所以你只能在浏览器中使用它。
关于java - 将数据从 appengine servlet 异步发送到客户端的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14604722/