<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>taichino.com &#187; flash</title>
	<atom:link href="http://taichino.com/tag/flash/feed" rel="self" type="application/rss+xml" />
	<link>http://taichino.com</link>
	<description>永遠のネバーランド</description>
	<lastBuildDate>Sat, 04 Feb 2012 13:33:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>GoogleAppEngineとFlashでの通信を別のファイルにする</title>
		<link>http://taichino.com/programming/615</link>
		<comments>http://taichino.com/programming/615#comments</comments>
		<pubDate>Fri, 31 Jul 2009 07:51:18 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[google app engine]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=615</guid>
		<description><![CDATA[pyamfというモジュールを使うとGAEとflash間での通信が出来ます。使い方はこちらで紹介されている通りにすればばっちり動きました。 ただ、紹介されているサンプルのままだと少し使いづらいです。何が問題かといいますと、サンプルは以下のファイル配置(関係ないファイルは除いています)でhttp://example.com/testPyAMF.swfからhttp://example.com/へアクセスして通信します。 + MyProject - main.py - app.yaml - testPyAMF.swf flashから通信を受ける方がルートパスになっているんですが、これを変更できないのです。したがってhttp://example.com/がtestPyAMF.swfからの通信の受信専用になってしまい、ブラウザでアクセスするとエラーになります。何とかhttp://example.com/flashserviceとかと通信できないのかなと色々探していると、見つかりました。 で、見てみると何の事はなくてスクリプトファイルを別に用意するということでした。ファイルの配置で言うと以下のようになります。ファイルの配置と、app.yamlの内容以外は修正の必要がありません。 + MyProject - main.py # ここにブラウザからのリクエストを処理させる - app.yaml - testPyAMF.swf + services - main.py # こっちにflashからのリクエストを処理させる app.yamlは以下のようになります。 application: MyProject version: 1 runtime: python api_version: 1 &#160; handlers: - url: /services/.* script: services/main.py &#160; - url: /.* script: main.py これでFlashからhttp://example.com/servicesにアクセスすればOKです。 あと、同じブログの別記事で公開されているサンプル(ソース有)は構成含めてGAE + Flashやるなら凄く参考になります。 何にせよapp.yamlで複数スクリプトを割り当てるのは盲点でした。 [...]]]></description>
			<content:encoded><![CDATA[<p>pyamfというモジュールを使うとGAEとflash間での通信が出来ます。使い方は<a href="http://innerchild.jp/2008/04/21-013638.php">こちらで紹介されている</a>通りにすればばっちり動きました。</p>
<p><span id="more-615"></span></p>
<p>ただ、紹介されているサンプルのままだと少し使いづらいです。何が問題かといいますと、サンプルは以下のファイル配置(関係ないファイルは除いています)でhttp://example.com/testPyAMF.swfからhttp://example.com/へアクセスして通信します。</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> + MyProject
   - main.py
   - app.yaml
   - testPyAMF.swf</pre></div></div>

<p>flashから通信を受ける方がルートパスになっているんですが、これを変更できないのです。したがってhttp://example.com/がtestPyAMF.swfからの通信の受信専用になってしまい、ブラウザでアクセスするとエラーになります。何とかhttp://example.com/flashserviceとかと通信できないのかなと色々探していると、<a href="http://fernandoacorreia.wordpress.com/2008/07/15/flex-and-python-project/">見つかりました</a>。</p>
<p>で、見てみると何の事はなくてスクリプトファイルを別に用意するということでした。ファイルの配置で言うと以下のようになります。ファイルの配置と、app.yamlの内容以外は修正の必要がありません。</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> + MyProject
   - main.py              # ここにブラウザからのリクエストを処理させる
   - app.yaml
   - testPyAMF.swf
   + services
     - main.py            # こっちにflashからのリクエストを処理させる</pre></div></div>

<p>app.yamlは以下のようになります。</p>

<div class="wp_syntax"><div class="code"><pre class="rails" style="font-family:monospace;">application: MyProject
version: <span style="color:#006666;">1</span>
runtime: python
api_version: <span style="color:#006666;">1</span>
&nbsp;
handlers:
<span style="color:#006600; font-weight:bold;">-</span> url: <span style="color:#006600; font-weight:bold;">/</span>services<span style="color:#006600; font-weight:bold;">/</span>.<span style="color:#006600; font-weight:bold;">*</span>
  script: services<span style="color:#006600; font-weight:bold;">/</span>main.<span style="color:#9900CC;">py</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">-</span> url: <span style="color:#006600; font-weight:bold;">/</span>.<span style="color:#006600; font-weight:bold;">*</span>
  script: main.<span style="color:#9900CC;">py</span></pre></div></div>

<p>これでFlashからhttp://example.com/servicesにアクセスすればOKです。<br />
あと、同じブログの<a href="http://fernandoacorreia.wordpress.com/2008/08/23/example-of-ria-in-the-cloud/">別記事で公開されているサンプル(ソース有)</a>は構成含めてGAE + Flashやるなら凄く参考になります。</p>
<p>何にせよapp.yamlで複数スクリプトを割り当てるのは盲点でした。<br />
常識ですか。そうですか。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/programming/615/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

