2011-09-12 14 views
2

GA3でUnity3d Webアプリケーションをホストする際に問題があります。それが見つけ、Unity3d - Google App Engineでのホスティング

class UnityHandler(webapp.RequestHandler): 
    def get (self, q): 
    if q is None: 
     q = 'WebPlayer.unity3d' 

path = os.path.join (os.path.dirname (__file__), q) 
self.response.headers ['Content-Type'] = 'text/html' 
self.response.out.write (template.render (path, {})) 

def main(): 
    application = webapp.WSGIApplication (
    [('/(.*html)?', MainHandler), 
    ('/(.*unity3d)?', UnityHandler) 
    ], debug=True) 
    util.run_wsgi_app (application) 

それは非常にうまく動作しない:アプリケーションの負荷やウェブプレイヤーがを要求し始め は私がHTTPレスポンスを作るために、次のPythonスクリプトを使用し、ファイル「.unity3d」 Unity Web Playerはファイルに「不良ファイル長」エラーを表示します。

だから誰でも問題がどこにあるのか教えていただけますか? "Content-type"の設定と関係があると思いますが、修正方法はわかりません。

おかげで、

SAMERサミー

答えて

3

は、私はあなたがpath =で始まる3行をインデントすることを意図していること、まず、前提とするつもりです。

第2に、あなたの意図は、WebPlayer.unity3dにURL「/」をルーティングすることだったと思います。しかし、スラッシュの後のすべてがオプションなので、正規表現の両方が/と一致します。 MainHandlerは最初からリクエストを受け取ります。

第3に、ダイナミックハンドラだけでなく、テンプレートエンジンを通じて静的ファイルを提供しようとしているようです。どうして?静的ファイルをそのまま出力する場合は、static handlersを使用してください。 : -

# render WebPlayer.unity3d on/
- url:/
    static_files: static/WebPlayer.unity3d 
    upload: static/WebPlayer.unity3d 

# match other .unity3d files 
- url: /(.*\.unity3d) 
    static_files: static/\1 
    upload: static/(.*\.unity3d) 

# match *.html and anything else 
- url: .* 
    script: main.py 
+0

おかげで、それが仕事を行なったし、私はこのような何かを使用::: 'ハンドラURL #マッチ.unity3dファイル をあなたは、静的な名前のディレクトリに.unity3dファイルを置いていると仮定すると、

/静的/ webplayer.unity3d static_files:static/webplayer.unity3d –