1

きちんと質問しているかどうかわかりません。HTTP 経由でホストと定期的に通信する「エージェント」と呼ばれることが多い、ローカルにインストールされたソフトウェアについて言及しています。たとえば、LogMeIn をインストールすると、エージェントは logmein.com サーバーとの通信を維持するため、Web ブラウザで logmein.com にアクセスしてエージェントに接続すると、サーバーは通信を開始できます。ただし、エージェントは Web サーバーではなく、エージェントに転送されるポートもありません。つまり、Agent は常にサーバーをポーリングして、壊れた記録のように「お手伝いできますか? お手伝いできますか?」と尋ねています。または、エージェントからサーバーへの http 接続が何らかの形で開いたままになっていますか? http 接続を開いたままにしておくことができることは知っていますが、A) どうやって、B) どのくらいの期間? エージェントは、「私はあなたを助けることができますか? まだ? まだ? 各質問の間により多くの時間がかかりますか? または、Agent は一度問い合わせて無期限に待機し、接続が切断されたことを認識してからもう一度問い合わせることができますか?

要するに、HTTP を使用してインターネット経由で通信するクライアント/サーバー アプリケーションを作成するための小さなサンプル プログラムを作成したいと考えています。どちらの側もコマンド/リクエストを開始できる必要があります。エージェントは、RESTful などの何らかの API を使用してサーバーと通信する可能性があります。実験を開始するときは、Perl を使用します。エージェントの書き方やサーバーとの通信方法について、多くの言語で多くのプラットフォーム用のサンプルを持つ Hello World プロジェクトを作成するのは楽しいことです。エージェント コードは、クライアント側の処理 (パブリック IP アドレスの決定など) を行い、データをサーバーに送信します。サーバーはデータに基づいて動作します (たとえば、IP アドレスをデータベースに保存します)。サーバーは、エージェントに対してコマンドを開始する場合もあります (例: Hey, Agent! What'

モデルとなる既存のプロジェクトはありますか? 既存のドキュメントはありますか?おそらく用語が抜けているだけで、私が求めていたすべてが foo という用語で要約できることを知っていれば、検索で見つけられるものへの扉が大きく開かれるでしょう!

4

1 に答える 1

1

Ubuntuのランドスケープのコードを調べました。HTML5 Websocket 用の Web サーバーである Python の Twister を使用します。だから私が答えで探していたのはWebsockets(双方向通信)だと思います。これにより、node.js、twister、mojolicious など、豊富なオプションが Web サーバーとして利用できるようになりました。Ajax を使用して数秒ごとにポーリングすることは、非常に悪い考えであることが判明しました。Web サーバーに対する圧倒的なスラムです。接続を開いたままにします。

于 2012-06-05T14:16:23.357 に答える