我目前有一個Java服務器,它通過在二進制套接字連接上傳遞JSON編碼數據來與Flash客戶端通信。有沒有一種方法可以將數據包編碼/解碼爲AMF而不是JSON?在我看來,Flash播放器應該有一些本機支持來做到這一點?我發現的AMF序列化的所有實現似乎嵌入在應用程序框架內。Java庫進行編碼/解碼AMF
同樣,有人知道是否有可能獨立於Flash中的連接實現解碼AMF數據包?
我目前有一個Java服務器,它通過在二進制套接字連接上傳遞JSON編碼數據來與Flash客戶端通信。有沒有一種方法可以將數據包編碼/解碼爲AMF而不是JSON?在我看來,Flash播放器應該有一些本機支持來做到這一點?我發現的AMF序列化的所有實現似乎嵌入在應用程序框架內。Java庫進行編碼/解碼AMF
同樣,有人知道是否有可能獨立於Flash中的連接實現解碼AMF數據包?
可以使用的OpenAMF的AMFDeserializer類,
http://www.openamf.com/javadocs/org/openamf/io/AMFDeserializer.html
您也可以使用相關的類中RED5和BlazeDS。
AMF代表動作腳本消息格式,Flash Player本身支持開箱即用。對於Java方面,我確信有一些庫已經寫好了。 Red 5是用Java編寫的支持AMF的開放式Flash服務器,因此您可以查看它。
PS:
貌似AMF序列化/反序列化在該包(紅5代碼)處理:http://red5.googlecode.com/svn/java/server/tags/0_9rc1/src/org/red5/io/amf/。不過,不確定是否有一個很好的獨立API。
由於性能問題,我們已從Red5遷移。它與大量的併發用戶非常不好。 – Ceilingfish 2010-06-01 16:43:57
我的意思是,既然Red 5是開源的,你可以檢查它是如何處理AMF的(也許它使用了一些開源的lib)。關於表現的評論,我已經聽到了有關Wowza的好消息(http://www.wowzamedia.com/),儘管我沒有直接的經驗。 – 2010-06-01 16:46:33
看起來很酷,似乎更多地遵循java.io的約定。 – Ceilingfish 2010-06-01 18:53:03