Index Google Google App Engine > Google App Engine で flash や flex を使うための PyAMF

<< Google App Engine : Getting Started その4 : local で static files を扱おうとするとエラーになる時の解決策 for Windows | Google App Engine で flash や flex を使うための PyAMF | Blender 2.46rc4 で出力した COLLADA 1.4.0 ( .dae ) で GreatWhite ( PV3D ) with Flex 3 SDK >>


Google App Engine で flash や flex を使うための PyAMF 

GAE で flash を使いたいって思ってたんですが、やはり便利なものがあるんですね。PyAMF は AS と Python 間のデータのやりとりをするためのモジュールです。
以下、Using PyAMF with Google App Engine を参考に書いていきます。

Get PyAMF

まずは、Get PyAMF のページから、fpconst.py をダウンロードします。続いて Py AMF もダウンロードし、解凍しておきます。Py AMF の現時点での最新ヴァージョンは 0.3 です。


Example Project

この Project 用に新しくフォルダを作成し、その中に、以下のようにファイルを準備します。

 + MyProject
- fpconst.py
- main.py
- app.yaml
- pyamf
- testPyAMF.swf

順に見ていきます。 fpconst.py はダウンロードしたものをそのままコピペします。

main.py は↓のようになります。

import wsgiref.handlers
from pyamf.remoting.gateway.wsgi import WSGIGateway

# 関数 echo を定義。受け取ったものをそのまま返すだけ。
def echo(data):
return data

# 関数 echo を 'echo' として呼び出せるようにする。
services = {
'echo': echo,
}

def main():
application = WSGIGateway(services)
wsgiref.handlers.CGIHandler().run(application)


if __name__ == '__main__':
main()

次に、app.yaml

application: MyProject
version: 1
runtime: python
api_version: 1

handlers:
- url: /testPyAMF.swf
static_files: testPyAMF.swf
upload: testPyAMF.swf

- url: /.*
script: main.py

pyamf は先程ダウンロードして解凍しておいたフォルダの中にあるフォルダです。pyamf フォルダをまるごとコピペします。

最後に、testPyAMF.swf ですが、以下の testPyAMF.as を使って生成します。

package{

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.net.NetConnection;
import flash.net.Responder;

public class testPyAMF extends Sprite {

private var netConnection:NetConnection;
private var responder:Responder;
private var output:TextField;

public function testPyAMF() {

output = new TextField();
output.autoSize = TextFieldAutoSize.LEFT;
addChild(output);

netConnection = new NetConnection();
netConnection.connect("http://localhost:8080/");

responder = new Responder(onComplete, onFail);
// Python側の echo を呼び出す。
netConnection.call("echo", responder, "Flash talked to PyAMF. They both say hello.");

}

//サーバーの呼び出しが成功して結果が返された場合に呼び出される
private function onComplete(results:String):void {
output.htmlText = results;
}

//サーバーがエラーを返したときに呼び出される
private function onFail(results:*):void {
for each (var thisResult:String in results){
output.appendText(thisResult);
}
}

}

}


ブラウザで確認する

全てのファイルが準備できたら、http://localhost:8080/testPyAMF.swf にアクセスします。 "Flash talked to PyAMF. They both say hello." が表示されていれば成功です。
AS 側から netConnection.call を使って、Python の echo メソッドを呼び出しています。echo は受け取ったものをそのまま返すだけなので、"Flash talked to PyAMF. They both say hello." がまた AS に戻ってくる、というわけですね。受け取った文字列を onComplete で処理しています。


The GAE SWF Project

Google App Engine で flash や flex を使うための フレームワークを Aral Balkan 氏が公開しています。

The GAE SWF Project

これはなかなか素晴らしいですね。さっそくダウンロードして中を覗いてみたいと思います。
The GAE SWF Project について、詳しくは作者 Aral Balkan 氏のブログを。
http://aralbalkan.com/



関連記事

Google App Engine : Getting Started その4 : local で static files を扱おうとするとエラーになる時の解決策 for Windows
Google App Engine : Getting Started その3
Google App Engine : Getting Started その2
Google App Engine SDK で Hello, World!



この記事を ブックマーク :   


<< Google App Engine : Getting Started その4 : local で static files を扱おうとするとエラーになる時の解決策 for Windows | Google App Engine で flash や flex を使うための PyAMF | Blender 2.46rc4 で出力した COLLADA 1.4.0 ( .dae ) で GreatWhite ( PV3D ) with Flex 3 SDK >>

TrackBack

このエントリーのトラックバックURL:
http://innerchild.jp/mt/mt-tb.cgi/244

この一覧は、次のエントリーを参照しています: Google App Engine で flash や flex を使うための PyAMF:

» GoogleAppEngineとFlashでの通信を別のファイルにする 送信元 taichino.com
pyamfというモジュールを使うとGAEとflash間での通信が出来ます。使い方はこちらで紹介されている通りにすればばっちり動きました。 ただ、紹介され... [詳しくはこちら]

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google Friend Connect

What's New!?

最近のコメント

Ko:ki on 東京ライフハック研究会vol.1 に参加してきました!: neti2さん、昨日
neti2 on 東京ライフハック研究会vol.1 に参加してきました!: neti2です。 昨
ひまわりマミー。 on ご献本いただきました > 『100円ノートで「超」メモ術』: 初めまして!読書記事
Ko:ki on Flash CS3 と amfphp 1.9 beta2 で Flash Remoting + クラスマッピング: flasher の方
やばい on Flash CS3 と amfphp 1.9 beta2 で Flash Remoting + クラスマッピング: やばいくらい参考にな
超メモ術著者 on ご献本いただきました > 『100円ノートで「超」メモ術』: 100円ノート「超」
Ko:ki on 携帯を新しくしました、が。: かんちゃ~ん!!お久
かんちゃん on 携帯を新しくしました、が。: ありゃりゃ〜!だね┐
Ko:ki on AS2.0 で Papervision3D を使ってみた。: >ひょっとしたら編集
Ko:ki on AS2.0 で Papervision3D を使ってみた。: > もしかしたらCS
akii on AS2.0 で Papervision3D を使ってみた。: 今日も作業をしていて
akii on AS2.0 で Papervision3D を使ってみた。: ありがとうございます
Ko:ki on AS2.0 で Papervision3D を使ってみた。: akii さん始めま
akii on AS2.0 で Papervision3D を使ってみた。: 初めまして、突然です
Ko:ki on JavaScript から ActionScript 3.0 を呼び出すって話。: うれしさがすごく伝わ
あきら on JavaScript から ActionScript 3.0 を呼び出すって話。: いやあ、助かりました
ゆぼ on Google Co-op ( カスタム・サーチ・エンジン ) の設置方法・その1: Ko:ki さん
Ko:ki on Google Co-op ( カスタム・サーチ・エンジン ) の設置方法・その1: ゆぼさん、始めまして

bookmarkedEntries

タグ