サービスをWebサイトとして提供するWebアプリケーションを作成しました。
次のように単純なアクションを呼び出して、他のソフトウェア (Web またはデスクトップ) が私のサービスを簡単に統合できるようにする WebServlet API を作成することを計画しています。
http://www.server_name.com/APIServlet?ACTION=CreateUser&DATA={"username":"username@gmail.com","password":"some_password"}
問題は、API が、特定の変更が発生するとすぐに API クライアントに非同期でデータを送信する方法も提供する必要があることです。
Channel API がこれを達成するためのより良い方法であることは知っていますが、特に JavaScript 以外のアプリケーションでは、API ユーザーが実装するのは非常に複雑です。
私の意見では、API ユーザーの労力が少なくて済むより良い解決策は、サーバーが何かを返すか、「タイムアウト」が発生するまで応答を保持する API アクションを提供する「ロング ポーリング」です。元:
http://www.server_name.com/APIServlet?ACTION=WaitMessage&DATA={"sessionId":"12kdj45jsdj"}
しかし、appengine はリクエスト応答を 30 秒に制限しているため、この解決策は不可能です。
簡単な方法で、HTTP リクエストを使用して非同期サーバー -> クライアント通信を実装するにはどうすればよいですか。