2012-05-09 4 views
1

私は質問を正しく聞いているかわかりません。私はローカルにインストールされたソフトウェアを指しており、これはしばしば「エージェント」と呼ばれ、HTTP経由でホストと定期的に通信します。例えばLogMeInをインストールすると、エージェントはlogmein.comサーバーと通信し続けるため、Webブラウザでlogmein.comにアクセスしてエージェントに接続すると、サーバーは通信を開始できます。ただし、エージェントはWebサーバーではなく、エージェントに転送されるポートもありません。だから、エージェントが絶えずサーバをポーリングして、壊れたレコードのように聞いてきます。「助けてもらえますか?助けてもらえますか?または、エージェントからサーバーへのhttp接続が何とか開いたままになっていますか?私はあなたがHTTP接続を開いたままにすることができますが、A)どのように、そしてB)どのくらいの期間ですか?エージェントは、あまり厄介な壊れた記録のように行動する必要がありますか?「私はあなたを助けることができますか?それでもなおですか?」それぞれの質問の間にはるかに時間がありますか?エージェントが一度尋ねて無期限に待っても、接続が切断されたことを知った後に再度尋ねることはできますか?クライアント側のWebベースエージェントはどのように機能しますか?

要は、HTTPを使用してインターネット経由で通信するクライアント/サーバーアプリケーションを作成する際に、少しだけサンプルプログラムを作成したいと考えています。いずれの側もコマンド/要求を開始できる必要があります。エージェントはおそらくRESTfulなAPIを使用してサーバーと通信します。私が実験を始めたら、私はPerlを使用します。 Hello Worldプロジェクトを作成するのは面白いことですが、多くのプラットフォームでエージェントを書く方法とサーバーとの通信方法を多言語でサンプルする必要があります。エージェントコードは、クライアント側の処理(例えば、パブリックIPアドレスの決定)を行い、データをサーバに送信する。サーバはデータ上で動作する(例えば、データベース内のIPアドレスを記憶する)。また、サーバーはエージェントへのコマンドを開始することもできます(Hey、Agent!CPUタイプとは?)エージェントとサーバーの間の適切な認証/認可はもちろん必要です。

既存のモデルプロジェクトはありますか?既存の文書はありますか?たぶん私は用語が不足しているだけで、私が求めていたものすべてがfooという言葉で要約できることを知っていたら、検索で見つけたもののドアが広がっていました!

+0

http://windowssecrets.com/top-story/run-your-pc-from-afar-securely-and-easily/とhttp://www.tek-tips.com/viewthread.cfm?qidを試してください。 = 1598113。 Logmeinはポート80と443 btwを使用します。 –

+0

Windowsでは、LogMeInはWindowsサービスです。私は長い間それを使用していないので、どのように通信するのか分かりません。私はDropboxを使用しました。そして、同期するものがあれば、たびに頻繁にサーバーに問い合わせます。 Fiddlerをインストールすると、この通信が表示されます。 – dontangg

答えて

1

私はUbuntuの風景のコードを調べました。 PythonのTwister(HTML5 WebSocket用のWebサーバー)を使用しています。だから、私が答えで探していたのは、Websockets(双方向通信)だと言っていました。これは、今や、豊富なオプション、node.js、ツイスター、mojolicious、そして多くのものをWebサーバーとしてオープンしました。 Ajaxを使用して数秒ごとにポーリングすることは非常に悪い考えです。これはWebサーバー上での圧倒的な打撃です。接続を開いたままにしておきます。

関連する問題