<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vanrijkom.org &#187; Search Results  &#187;  amf</title>
	<atom:link href="http://vanrijkom.org/wordpress/?s=amf&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://vanrijkom.org</link>
	<description>on software technology and rich desktop applications</description>
	<lastBuildDate>Tue, 09 Mar 2010 18:11:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AMF Format</title>
		<link>http://vanrijkom.org/?p=11</link>
		<comments>http://vanrijkom.org/?p=11#comments</comments>
		<pubDate>Thu, 09 Jun 2005 16:39:44 +0000</pubDate>
		<dc:creator>Ryko</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://vanrijkom.org/?p=11</guid>
		<description><![CDATA[There&#8217;s currently a lot going on in the &#8220;open source Flash community&#8221;:http://www.osflash.org. On reading the &#8220;wishlist&#8221;:http://osflash.org/doku.php?id=whishlist at osflash.org I noticed there&#8217;s still some stuff missing on the AMF format. I used the AMF format extensively with some applications I wrote a while back so I looked up my notes on the format. Perhaps they&#8217;ll be [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s currently a lot going on in the &#8220;open source Flash community&#8221;:http://www.osflash.org. On reading the &#8220;wishlist&#8221;:http://osflash.org/doku.php?id=whishlist at osflash.org I noticed there&#8217;s still some stuff missing on the AMF format. I used the AMF format extensively with some applications I wrote a while back so I looked up my notes on the format. Perhaps they&#8217;ll be useful for completing the refence at &#8220;osflash.org&#8221;:http://osflash.org/doku.php?id=amf:</p>
<p>[*Flash AMF*]</p>
<p>Used for:</p>
<p>* Local Connection<br />
* SOL<br />
* Remoting</p>
<p>The folowing elements are defined within AMF:</p>
<p>|*Type*|*Tagbyte*|<br />
|Number|0&#215;00|<br />
|Boolean|0&#215;01|<br />
|String|0&#215;02|<br />
|Object|0&#215;03|<br />
|Undefined|0&#215;06|<br />
|Reference|0&#215;07|<br />
|AssociativeArray|0&#215;08|<br />
|Array|0&#215;0A|<br />
|Date|0&#215;0B|<br />
|SimpleObject|0&#215;0D|<br />
|XML|0&#215;0F|<br />
|Class|0&#215;10| </p>
<p>For terminating sequences, a byte with value 0&#215;09 is used.</p>
<p>*Number: 0&#215;00 B7 B6  …  B0*</p>
<p>Numbers in AMF are 64 bit ‘Big Endian’. Windows works with little endians, so conversion is required.</p>
<p>*Boolean: 0&#215;01 B0 (BOOL)*</p>
<p>BOOL is 0 for FALSE and 1 for TRUE</p>
<p>*String: 0&#215;02 L0 L1 SMBSTRING*</p>
<p>L1+L2 is Big Endian, length of the string. String is in multibyte format, prefixed with a 2 byte Big Endian length specifier.</p>
<p>*Object: 0&#215;03  [SMBSTRING  AMFELEMENT ] 0&#215;09*</p>
<p>An object contains zero or more AMF elements that are prefixed with a multibyte string that indicates the AMF elements identifyer within the object.</p>
<p>*Undefined: 0&#215;06*</p>
<p>An undefined element consists of soley one byte with the value 0&#215;06.</p>
<p>*Reference (TODO): 0&#215;07 ?*</p>
<p>A reference refers to an array or object that stored somewhere before. It’s probably a mechanism that prevents </p>
<p>*Associative Array: 0&#215;08  L3  L2  L1  L0 [SMBSTRING  AMFELEMENT ] 0&#215;09*</p>
<p>L0..L3 for a 32 bit number indicating the number of elements present in the array. The length of the array is followed by (length) AMF elements that are prefixed with a multibyte string (with a 2 byte length prefix) that indicates the AMF elements identifyer within the array.</p>
<p>*Array: 0&#215;0A  L3  L2  L1  L0  [ AMFELEMENT ]*</p>
<p>L0..L3 form a 32 bit Big Endian number indicating the number of elements present in the array. The size of the array is followed by (length) AMF elements. Note that this collection is NOT terminated using 0&#215;09.</p>
<p>*Date: 0&#215;0B T7 T6  .. T0 Z1 Z2*</p>
<p>T7 to T0 form a 64 bit Big Endian number that specifies the number of nanoseconds that have passed since 1/1/1970 0:00 to the specified time. This format is “UTC 1970”. Z1 an Z0 for a 16 bit Big Endian number indicating the indicated time’s timezone.</p>
<p>*SimpleObject: 0&#215;0C ?*</p>
<p>To do – meaning unknown.</p>
<p>*XML: 0&#215;0F  LMBSTRING*</p>
<p>The multi-byte string is prefixed with a 32 bit Big Endian number, indicating the length of the multibytestring that follows.</p>
<p>*Class: 0&#215;10  SMBSTRING  [ SMBSTRING  AMFELEMENT ]  0&#215;09*</p>
<p>A class element is similar to an object element, but has a class name indentifyer string prefixed to the array of member elements.</p>
<p>*<em>Element containers</em>*</p>
<p>Currently AMF is used with SharedObjectsLocal (.sol) files, Local Connection and Flash Remoting. </p>
<p>*SOL file format*</p>
<p>Header:</p>
<p>&#8220;\0xBF\0”<br />
S3 .. S0<br />
“TCSO\0\4\0\0\0\0&#8243;<br />
SMBSTRING<br />
“\0\0\0\0”<br />
[ SMBSTRING AMFELEMENT ]</p>
<p>S3 .. S0 forms a 32 bit Big Endian number indicating the size of the file. The small multibyte string reflects the name of the object shared in the file. The array that follows has pairs of name (SMBSTRING) – value pairs.</p>
]]></content:encoded>
			<wfw:commentRss>http://vanrijkom.org/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
