すごく限定的で細かい問題だけど丸一日を潰されたので、その備忘録に。内容は件名の通りです。
2008/02/05 時点での最新のFlash Player(9,0,115,0)だと、Red5(0.6.3)で、SharedObjectがうまく扱えません。具体的に言うとActionScript3で
this.so = SharedObject.getRemote(this.session, this.nc.uri, true); this.so.addEventListener(SyncEvent.SYNC, this.syncListener); this.so.connect(this.nc);
こんな感じのコードを書いたときに、
this.so.setProperty('message', msg);
と、setPropertyでso.dataを変更したときにSyncイベントが上がってこない、という不具合。イベントが上がらないから、イベントリスナでキャッチできずに処理が進まない、という悪循環。もう少し細かく言うと、so.setPropertyする瞬間にorg.red5.server.net.protocol.ProtocolExceptionが発生して、ここで処理が止まっちゃってるのが問題です。
これ、1つ前のバージョンのFlash Player(9,0,47,0)だと発生しないから厄介です。9,0,115,0は9系の中でかなり大きな機能追加+修正がかかっているので要注意。9,0,47,0からの差分はリリースノートを参照。
さて、この問題ですがどうやらRed5開発陣には既に通っている問題のようです。
Trunk (2480) version of Red5 and previous versions (I first noticed the issue about 3 months ago). Flash Player 9,0,115,0 or any of the Flex Builder 3 Beta Debug Players. IE, Firefox, Opera (all same issue).
via New Flash Player (9,0,115,0) Using AMF3 Causes ProtocolExceptions which disconnect clients.
ちょうど今日(2/4)にコミットされているSubversionのtrunkのソースだとBugFixされているようです。
> I'm pretty sure that this ha been fixed in the trunk. Steven gong
> worked on this for one of our clients that was experiencing the
> problem. Steven, can you confirm that the SharedObect AMF3 bug is fixed?
Yes. These two issues should have been fixed now.
via Tickets for 0.7
最新のソースはhttp://svn1.cvsdude.com/osflash/red5/java/server/にあります。trunkフォルダを手元に落としてきて、
ant all
でフルビルドできます。JDK6, antあたりが手元にあればOKです。「FedoraにRed5をインストール」もあわせてご参照ください。
- Newer: 身内勉強会でECMAScriptについてしゃべってきました
- Older: ActionScriptで使うlog関数のエラー対策
Google Adsense
Social bookmark comment : 0
No comment.
Comment : 0
Trackback : 0
- TrackBack URL for this entry
- http://blog.katsuma.tv/mt-tb.cgi/118
- Listed below are links to weblogs that reference
- Flash Player 9,0,115,0 だとRed5 0.6.3 でSharedObjectが扱えない from blog.katsuma.tv
2008/02/05 (Tue)