なぜかNetConnection.Connect.Failedになってしまう原因解決

http://d.hatena.ne.jp/akiyan/20071108/1194512196 の解決編。

NetConnectionオブジェトの objectEncoding に ObjectEncoding.AMF0 をセットしたら接続できた。

nc.objectEncoding = ObjectEncoding.AMF0;
nc.connect(...)

ヘルプ曰く、

objectEncoding プロパティ

objectEncoding:uint [read-write]

この NetConnection インスタンスのオブジェクトのエンコード (AMF バージョン) です。このプロパティのデフォルト値は、defaultObjectEncoding の値です。指定できる値は、ObjectEncoding.AMF3 および ObjectEncoding.AMF0 です。

ActionScript 3.0 SWF ファイルで Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合は、このプロパティを理解することが重要です。

FMSは比較的新しいけど、Flash9以前だからAMF0を使わないとダメ。

Flex 2サーバーだとAMF3でいけるらしい。