2010-11-23 13 views
4

質問:サーバーアプリケーションを作成する学習の出発点はどこですか?サーバーアプリケーションのプログラミングを開始する場所


情報:

私は私の大学のキャンパスを中心にアイドル座って数百コンピュータのアイドルサイクルを採取する分散コンピューティングシステムを書くことで探しています。近くに来るシステムがありますが、必要なすべての要件を満たしていません。 (ネットワークが他のすべてをブロックするので、SSH経由ですべてのトランザクションを行う必要があります)私は自分のアプリケーションを書くことに決めました。私が望むだけでなく、経験を得るために部分的には。

重要な機能:pythonの

  • で書かれ

    1. SSHを通じて行われたすべてのトランザクション(これはpexpectの簡単な使用によって解決される)
    2. Serverは潜在的にヒットの数百を取ることができる必要があります。私は後で最適化します。そのポイントはシミュレーションセッションです。

    私は試して達成しようとするものをばかげていないように感じます。しかし、最後のもので私はどこから始めるべきかはわかりません。私は実際に最初の2つをすでに達成しており、私のサーバにログインし、ls -lをローカルにファイルに出力するプログラムを書いています。それは難しいことではありません。しかし、どのように私はいくつかのクライアントを添付して、シミュレーションデータがすべて同時にサーバーに送られるようにサーバーに要求していますか?明らかに、ここでプレイするためにスレッドが入ってくるように感じますが、それ以上のことは確信しています。

    これは私の問題がある場所です。どこでサーバーアプリケーションの作成方法を研究し始めますか?私は正しい言葉を使用していますか?どのような情報がインターネット上で無料で入手できますか?再び、具体的にはPythonですが、正しい方向への一歩は、私が今のところよりも一つです。

    p.s.これはserverfaultよりもstackoverflowに適していると考えられます。私が間違っているなら、私を訂正してください。

  • +0

    まず、Twistedを学びます。 –

    +0

    は、私が探していたものとほぼ同じように見えます。あなたはもう少しの方向性を提供し、答えとしてそれを置くことができますか?^_^ – Narcolapser

    +0

    この質問に対する回答は、SO形式では広すぎます。 – Barranka

    答えて

    1

    Twistedは、ネットワーク処理のためにPythonでよく使用されるイベントループフレームワークです。

    0

    ここにアプローチがあります。

    1. "エージェント"をPythonで記述します。エージェントはさまざまなコンピュータにインストールされます。あなたの必要性をローカルで処理します。 urllib2を使用して、サーバーのRESTful HTTP要求を行います。それは、データまたは要求が何かを投稿したり、何かを続けることを想定しています。

    2. Pythonで「サーバー」を作成します。サーバーは1台のコンピューターにインストールされています。これはwsgirefを使用して記述され、キャンパス周辺に散在するさまざまなエージェントからの要求を処理する単純なWSGIベースのサーバーです。

    これはエージェントのインストールが必要ですが、非常に簡単です。非常に安全に(HTTPダイジェスト認証を使用して)行うことができます。エージェントの権限は脆弱性のレベルを定義します。エージェントが比較的少数の特権を持つアカウントで実行されている場合は、非常に安全です。エージェントはrootとして実行してはならず、エージェントのアカウントにはsuまたはsudoを許可しないでください。

    +0

    私の質問がちょっと混乱していたらごめんなさい。これは非常に有用な情報ですが、私はサーバーアプリケーションを書くための紹介情報を探していて、プロジェクトを例として使用しました。あなたは私がやることをほぼ正確に説明しました。クライアントは、1台のサーバーから情報を要求する(残念ながら)Windowsマシンをインストールします。あなたの提案の問題は、キャンパスネットワークがHTTPリクエストをブロックすることです。 sshは唯一許可されているネットワークプロトコルです。私はトンネルができそうだと思っていますが、私が来たらその橋を渡ります。ヒントのおかげで。 – Narcolapser

    +0

    @ Narcolapser: "キャンパスネットワークはHTTPリクエストをブロックするでしょうか?"本当に?どうしてわかるの?おそらく、HTTPはおそらく地球上でもっとも使われているプロトコルの1つです。 Webブラウザが動作しないと言っていますか? Webサーバーはどこにもありません。 –

    +0

    ログインシステムです。 「Cisco Clean Access Agent」について聞いたことがありますか?最新のアップデートとウィルス対策のためにレジストリをチェックする、あなたのコンピュータにインストールするプログラム(WindowsとMac、Linuxの場合はJava Webアプレット)です。 。システムにログインする必要があり、ciscoにログインする必要があります。ログインしていないキャンパスコンピュータを使用する場合は、RDP、VNC、およびSSHのように「リモートアクセスプロトコル」が必要です。私のサーバには明らかにGUIがないので、シスコにはログインできません。 httpがブロックされます。 :/ – Narcolapser

    関連する問題