When sending data to Red5 handlers, it is important to know the counter-part data types used in the server’s Java code.
There’s is one article mentioning about this at http://jira.red5.org/confluence/display/codecs/Data+Type+Mappings
However, for an unknown reason, the page is not accessible any more. I have to produce a test and observe the conversion of data as following:
From Flash to Red5 (valid to Red5 0.8 / 0.9)
| ActionScript 3 | Red5 |
| Boolean | java.lang.Boolean |
| String | java.lang.String |
| uint (< 2147483647) int (-2147483648 to below 2147483647) Number (integer value within int range) | java.lang.Integer |
| uint (>= 2147483647) Number (integer value out of int range) | java.lang.Long |
| Number (fraction value) | java.lang.Double |
| Date | java.util.Date |
| Array | java.util.ArrayList |
| Object / Custom Object | org.red5.io.utils.ObjectMap |
| XML, XMLDocument | org.apache.xerces.dom.DeferredDocumentImpl (this class seems not to be in Red5’s lib folder) |
| ByteArray | org.red5.io.amf3.ByteArray |
| Special Values: | |
| NaN | NaN |
Notes:
- Negative integer value is limited at –2147483648 even if the variable is declared as Number. If you try to send a value less than this number, it will be rounded up to –2147483648.
- If one of the params in the remote call is null or undefined, the handler will not be executed.
Tình cờ mình vào blog này của bạn & đọc được bài này. Mình nghĩ nếu những bài viết thế này được copy vào hoặc link đến từ wiki của red5 thì tốt :D
ReplyDelete