ひよっこ。

I want to…

PyAMFを利用してみる

Posted by hikaruworld : 2009 9月 14

ちょっとやりたいことがあってPyAMFを試しています。
というわけで、とりあえずHelloWorldをやってみたのでそのメモです。
基本的にはExamples通りやればOKです。

というわけで、今回はGeneralのHelloWorldから。

PyAMFのインストール

手っ取り早くeasy_installで。できなければダウンロードしてきてsetup.py installでもいいでしょう。

easy_install pyamf

AMFの配備

とりあえず、このserver.pyをサーバに配備します。
当然ですが、このまま利用する場合は8000のportはあけておく必要があります。

なお、今回はサーバとクライアントが別環境で実行しているので、WSGIServerの設定をlocalhostからIPアドレスに変更しておきます(30行目辺り)。

httpd = simple_server.WSGIServer(
	('12.345.678.90', 8000),
	simple_server.WSGIRequestHandler,

あ、ファイルには権限設定を忘れずに。

これで準備が整ったのでserver.xmlを起動します

python server.py

起動するとこんなログが出力されてコンソールが待ち状態になります。

Running Hello World AMF gateway on http://localhost:8000

※localhost:8000になっているのはそこまで先ほど修正しなかっただけなので無視します。

これで、該当サーバのhttp://IPアドレス:8000/にAMFでアクセスすることが可能になります。

ためしに、HTTPのGETでアクセスしてみましょう。
するとこんな感じで起こられました

400 Bad Request

To access this PyAMF gateway you must use POST requests (GET received)

ま、言われたとおりですね。

クライアントからの接続確認

とりあえずFlashDevelopを使って、簡単にRemoteObjectで接続してみます。
(FlexBuilderを利用せずにFlashDevelopを利用するのは今手元にFlexBuilderがないだけですよ)

とりあえず、サンプルに従って(コピペとも言います)MXMLを作成します。
このままだと接続先が違って動かないので、RemoteObjectの接続先だけ変更します(6行目辺り)。

<mx:RemoteObject id="remoteObj" destination="echo" endpoint="http://12.345.678.90:8000">

あとは、起動してみます。

すると画面上にHelloWorldが表示されました
PyAMF_helloWorld

とりあえず動いたので今日は満足。ソースの内容は後日改めて。

以上ー。

TODO: あとで調べること。
SimpleServerとか
WSGIGatewayとか

コメントを残す