我创建了一个以网站形式提供服务的 Web 应用程序。
我计划创建一个 WebServlet API 以允许其他软件(网络或桌面)轻松集成我的服务,调用简单的操作如下:
http://www.server_name.com/APIServlet?ACTION=CreateUser&DATA={"username":"username@gmail.com","password":"some_password"}
问题是 API 还应该提供一种在给定更改发生后立即向 API 客户端异步发送数据的方法。
我知道 Channel API 是实现这一点的更好方法,但 API 用户实现起来相当复杂,特别是在非 javascript 应用程序中。
在我看来,需要 API 用户付出较少努力的更好的解决方案是“Long Polling”,它提供一个 API 操作来保持响应,直到服务器有东西要返回或发生“超时”。前任:
http://www.server_name.com/APIServlet?ACTION=WaitMessage&DATA={"sessionId":"12kdj45jsdj"}
但是 AFAIK 这个解决方案是不可能的,因为 appengine 将请求响应限制为 30 秒。
如何以简单的方式使用 HTTP 请求实现异步服务器 -> 客户端通信。