幾個月前當 flash player 更新到 9.0.115 時,因為 security model 改變,讓我以為 Security.loadPolicyFile() 沒有被正確調用是一個 bug... 並期待會在下次更新改善。
而就在最近,flash player 更新到 9.0.124 了。
而且,果不其然,security model 再次被修改~細節請參考這裡。
我關心的部份是:
A socket policy file will always be required for all socket connections
唉...
我個人認為這改變很白爛啊... >"<
anyway,這只是前言,這篇重點在於,這次的相關文章中,我看到了一篇有提到 flash player 內部的 socket policy request process!
哇咧!!!
原來是這樣的次序
- 先找 port 843 的 master policty file
- 才是作 Security.loadPolicyFile()
- 最後是往目標連線的 socket port 取...
哪有這種事情...
居然把他們自定的特殊 port 843 當作第一優先,取不到還得等 3sec,然後才往其他地方找 policy file...
So,我原來還期待上次發現的問題,可能會被改掉,這下看來是不可能了!
因為那不是 bug,是刻意的 FEATURE!
老實說,我真的覺得 Adobe 對於 flash player 作這樣的設計很白痴...