<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>FMSer.CN</title><link>http://www.fmser.cn/</link><description>专注于Flash+FMS+P2P开发</description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>|鲁ICP备10011024号|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Copyright 2008-2009 FMSer.CN All Rights Reserved.</copyright><pubDate>Thu, 19 Aug 2010 21:32:06 +0800</pubDate><item><title>《Flash ActionScript 3.0从入门到精通》第四次加印</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/90.html</link><pubDate>Wed, 04 Aug 2010 22:59:23 +0800</pubDate><guid>http://www.fmser.cn/post/90.html</guid><description><![CDATA[<p>《Flash ActionScript 3.0从入门到精通》第四次加印!</p><p>感谢!</p>]]></description><category>著作</category><comments>http://www.fmser.cn/post/90.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=90</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=90&amp;key=6064d4f7</trackback:ping></item><item><title>我参加了“闪创未来”Adobe Flash平台应用开发大赛</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/89.html</link><pubDate>Wed, 28 Jul 2010 23:46:32 +0800</pubDate><guid>http://www.fmser.cn/post/89.html</guid><description><![CDATA[<p>由Adobe公司主办，全球最大的中文IT技术社区CSDN协办的Adobe Flash平台应用开发大赛已经开赛，我也参加了！<img alt="" src="http://www.fmser.cn/image/face/Haha.gif" /></p><p>我参赛的作品是<a target="_blank" href="http://adobec.csdn.net/works/showDetail/312">《FMS视频直播系统》</a>，发在&ldquo;参赛作品&rdquo;区的&ldquo;视频类&rdquo;中，请大家支持我！</p><p>因为参赛网页对作品的简介有字数限制，发不全，因此，您可以<a target="_blank" href="http://www.fmser.cn/post/4.html">直接点这里看系统简介</a>。</p><p>看完简介后，如果您感觉该系统还可以，不要忘了投我一票，地址是：<a href="http://adobec.csdn.net/works/showDetail/312">http://adobec.csdn.net/works/showDetail/312</a>。</p><p>有图有真相，谢谢！</p><p style="text-align: center"><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/闪创未来.JPG" /><span style="display: none" id="1280332469530S">&nbsp;</span></p>]]></description><category>FMS</category><comments>http://www.fmser.cn/post/89.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=89</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=89&amp;key=edf4ac0d</trackback:ping></item><item><title>Flash P2P 点播测试(VOD)</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/88.html</link><pubDate>Mon, 19 Jul 2010 23:56:21 +0800</pubDate><guid>http://www.fmser.cn/post/88.html</guid><description><![CDATA[<p style="text-align: left">利用Stratus2 组的功能实现的<span style="color: #ff0000">VOD点播</span>,主要想验证两个问题:</p><p style="text-align: left">1、观看的人越多，越流畅。</p><p style="text-align: left">2、可以部分解决打洞问题，在线人越多的时候，原来观看不到视频的客户端有可能观看到视频。</p><p style="text-align: left">感兴趣的同行可以测试一下。</p><p style="text-align: left">说明：根据<a target="_blank" href="http://www.flashrealtime.com/file-share-object-replication-flash-p2p/"><span style="color: #ff0000">Adobe工程师写的教程</span></a>演变而来的例子，改成了Flash CS5版本。</p><p style="text-align: left">用法：直接单击播放按钮，要稍等一会，文件块下载完毕后会自动播放(文件大约12M左右)。</p><p style="text-align: center"><embed height="450" width="324" src="http://labs.fmser.cn/swf/p2pFileShare.swf" type="application/x-shockwave-flash" play="true" loop="true" menu="true"></embed></p>]]></description><category>FMS</category><comments>http://www.fmser.cn/post/88.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=88</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=88&amp;key=a6414646</trackback:ping></item><item><title>Flash P2P 文件共享基础教程(转)</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/87.html</link><pubDate>Sun, 18 Jul 2010 02:11:59 +0800</pubDate><guid>http://www.fmser.cn/post/87.html</guid><description><![CDATA[<p>原文:&nbsp;<a href="http://www.flashrealtime.com/file-share-object-replication-flash-p2p/">http://www.flashrealtime.com/file-share-object-replication-flash-p2p/</a></p><p style="text-align: center"><a title="Permanent Link to File Sharing over P2P in Flash Player 10.1 with Object Replication" rel="bookmark" href="http://www.flashrealtime.com/file-share-object-replication-flash-p2p/"><font color="#cb0100">File Sharing over P2P in Flash Player 10.1 with Object Replication</font></a></p><p><em>*Note: this intro article will be followed by other Object Replication concepts and practices</em></p><p><b>Object Replication</b></p><p>Object Replication is the most lowest-level P2P access available in Flash Player 10.1 (followed by <a href="http://www.flashrealtime.com/multicast-explained-flash-101-p2p/"><font color="#cb0100">Multicast</font></a>, <a href="http://www.flashrealtime.com/simple-chat-p2p-netgroup-rtmfp/"><font color="#cb0100">Posting</font></a> and <a href="http://www.flashrealtime.com/directed-routing-explained-flash-p2p/"><font color="#cb0100">Directed Routing</font></a>). It basically enables you to send chunks of data between peers. Object Replication is the only P2P access method that guarantees that all data will be transferred to all receiving peers.</p><p style="text-align: center"><img alt="" src="/upload/201007180215494402.jpg" /></p><p style="text-align: center"><a href="http://flashrealtime.com/demos/p2pfileshare2/P2PFileSharing.html">Demo</a></p><p style="text-align: left">I&rsquo;ve built <a href="http://flashrealtime.com/demos/p2pfileshare2/P2PFileSharing.html">this simple file sharing application</a>, which basically loads a file and then you start sharing it. Open another client to start receiving the file.<br />&nbsp;</p><p style="text-align: center"><img alt="" src="/upload/201007180217148763.jpg" /></p><p style="text-align: left"><em>How to use it:<br />Open a provider in one window - browse for a file (JPG, PNG, GIF). Once it&rsquo;s loaded, it will start sharing the file. Open a receiver in many other windows and start receiving. Provider and receiver are included in one app in this example.</em></p><h3>How does it work</h3><p>A classic scenario for Object Replication in Flash is file sharing. You have two clients, one is sending the data (Provider) and the other one receives the data (Receiver). You were able to <a onclick="javascript:pageTracker._trackPageview ('/outbound/cookbooks.adobe.com');" href="http://cookbooks.adobe.com/post_Create_a_P2P_file_sharing_application-16539.html">do this already in Flash Player 10 using NetStream</a> - but this worked only for two clients and there where no replication of objects to the members of a group =&gt; Massive File Sharing! In our scenario, you can have thousands of receivers.</p><p><strong>Provider</strong><br />Provides data for others. This is the originator. First you need to have an object with data you want to share. You most probably will load a file using URLStream or FileReference. Then you need to split this file into separate ByteArray chunks and give them indexes (it can be an indexed array). Keep the chunks reasonably small to avoid transfer issues (around 64KB). So if you load a 2 MB file, you will have 32 chunks. Finally call <em>NetGroup.addHaveObject(0, 32);</em> which says you have in this case 32 chunks available for others.</p><p><strong>Receiver</strong><br />Receives data from a provider. Here you just call <em>NetGroup.addWantObjects(index, index);</em> and start receiving objects from the provider. I do this by keeping the increasing the index by 1 once received a chunk. So you basically call <em>NetGroup.addWantObjects(index, index);</em> 32 times. When you call addWantObjects, the Providers gets a status <em>&ldquo;NetGroup.Replication.Request&rdquo;</em>. At this point the provider needs to write data to a group using <em>NetGroup.writeRequestedObject(event.info.requestID,chunks[event.info.index])</em>. Once it writes the data, the Receiver gets a <em>&ldquo;NetGroup.Replication.Fetch.Result&rdquo;</em> status event and save the data locally to an object. Remember, that the Receiver is just receiving data, it is not providing the data to other peers. After it has received all chunks, the Receiver just goes through the chunks and put them together into a final ByteArray.</p><p><strong>Receiver/Provider</strong><br />So why not to provide the received data to other peers to make the trasfer faster and maybe more stable. Once you receive some data using <em>NetGroup.addWantObjects(index, index);</em> and save them in <em>&ldquo;NetGroup.Replication.Fetch.Result&rdquo;</em>, you can start providing the data to other peers using <em>NetGroup.addHaveObject(index, index);</em>.</p><p>Of course there is lot more to be done, but first let&rsquo;s have a look at this schema for the above.</p><p style="text-align: center"><img alt="" src="/upload/201007180218384121.png" /></p><h3>Simple Object Replication</h3><p>To demonstrate how Object Replication works, let&rsquo;s try this <a href="http://flashrealtime.com/demos/p2pfileshare2/P2PObjRep.html">second demo</a>. In this example you have an object, which we fill with and array of 100 elements. Then start sharing this array. Run the second client to start receiving the array.</p><p><strong>Provider peer:</strong><br />1. Once connected, click <em>fillObject</em><br />2. Then click <em>addHaveObjects</em><br />3. That&rsquo;s all</p><p><strong>Receiver peer:</strong><br />1. Once connected, click <em>addWantObjects</em><br />2. It should start receiving objects shortly<br />(there is a loop, first chunk you receive is count of objects, once you receive a chunk the index increases by 1 and asks for next chunk until they are all received)</p><p>There are couple more buttons - you can try playing with it a little bit if you want.</p><p style="text-align: center"><img alt="" src="/upload/201007180219252133.png" /></p><h3>How was it built?</h3><p>Once connected to a server setup a NetGroup instance like this:</p><pre style="font-family: monospace" class="actionscript"><span style="color: #0066cc">private</span> <span style="color: #000000; font-weight: bold">function</span> setupGroup<span style="color: #66cc66">(</span><span style="color: #66cc66">)</span>:<span style="color: #0066cc">void</span><span style="color: #66cc66">{</span>	<span style="color: #000000; font-weight: bold">var</span> spec:GroupSpecifier = <span style="color: #000000; font-weight: bold">new</span> GroupSpecifier<span style="color: #66cc66">(</span><span style="color: #ff0000">&quot;myGroup&quot;</span><span style="color: #66cc66">)</span>;	spec.<span style="color: #006600">serverChannelEnabled</span> = <span style="color: #000000; font-weight: bold">true</span>;	spec.<span style="color: #006600">objectReplicationEnabled</span> = <span style="color: #000000; font-weight: bold">true</span>;&nbsp;	netGroup = <span style="color: #000000; font-weight: bold">new</span> NetGroup<span style="color: #66cc66">(</span><span style="color: #0066cc">netConnection</span>,spec.<span style="color: #006600">groupspecWithAuthorizations</span><span style="color: #66cc66">(</span><span style="color: #66cc66">)</span><span style="color: #66cc66">)</span>;	netGroup.<span style="color: #006600">addEventListener</span><span style="color: #66cc66">(</span>NetStatusEvent.<span style="color: #006600">NET_STATUS</span>,netStatus<span style="color: #66cc66">)</span>;<span style="color: #66cc66">}</span></pre><p>Once connected to a NetGroup, which means that user allowed P2P connections, UDP is enabled and so on - you do operations on a NetGroup. First set object replication strategy. We will be receiving packets one by one (moreless).</p><pre style="font-family: monospace" class="actionscript">netGroup.<span style="color: #006600">replicationStrategy</span> = NetGroupReplicationStrategy.<span style="color: #006600">LOWEST_FIRST</span>;</pre><p>In your netStatusHandler - catch two codes:</p><pre style="font-family: monospace" class="actionscript"><span style="font-style: italic; color: #808080">// This code is called on a Provider</span><span style="color: #b1b100">case</span> <span style="color: #ff0000">&quot;NetGroup.Replication.Request&quot;</span>: 	<span style="font-style: italic; color: #808080">// calling this causes &quot;NetGroup.Replication.Fetch.Result&quot; invocation on a Receiver</span>	netGroup.<span style="color: #006600">writeRequestedObject</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #006600">requestID</span>,obj<span style="color: #66cc66">[</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span><span style="color: #66cc66">]</span><span style="color: #66cc66">)</span>&nbsp;	<span style="color: #b1b100">break</span>;&nbsp;<span style="font-style: italic; color: #808080">// This code is called on a Receiver</span><span style="color: #b1b100">case</span> <span style="color: #ff0000">&quot;NetGroup.Replication.Fetch.Result&quot;</span>:        <span style="font-style: italic; color: #808080">// received chunks can be already provided to others</span>	netGroup.<span style="color: #006600">addHaveObjects</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span>,event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span><span style="color: #66cc66">)</span>;&nbsp;        <span style="font-style: italic; color: #808080">// write a chunk into an object/array</span>	obj<span style="color: #66cc66">[</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span><span style="color: #66cc66">]</span> = event.<span style="color: #006600">info</span>.<span style="color: #0066cc">object</span>;&nbsp;	<span style="color: #b1b100">if</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span> == <span style="color: #cc66cc">0</span><span style="color: #66cc66">)</span><span style="color: #66cc66">{</span>		<span style="font-style: italic; color: #808080">// First chunk (0) holds the number of chunks</span>		objSize = <span style="color: #0066cc">Number</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">object</span><span style="color: #66cc66">)</span>;	<span style="color: #66cc66">}</span><span style="color: #b1b100">else</span><span style="color: #66cc66">{</span>		<span style="font-style: italic; color: #808080">// Receive chunks until you are full</span>		<span style="color: #b1b100">if</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span>+<span style="color: #cc66cc">1</span><span style="color: #66cc66">&lt;</span>objSize<span style="color: #66cc66">)</span><span style="color: #66cc66">{</span>			netGroup.<span style="color: #006600">addWantObjects</span><span style="color: #66cc66">(</span>event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span>+<span style="color: #cc66cc">1</span>,event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span>+<span style="color: #cc66cc">1</span><span style="color: #66cc66">)</span>;			actualFetchIndex = event.<span style="color: #006600">info</span>.<span style="color: #0066cc">index</span>+<span style="color: #cc66cc">1</span>;		<span style="color: #66cc66">}</span>	<span style="color: #66cc66">}</span>	<span style="color: #b1b100">break</span>;</pre><p><a href="http://flashrealtime.com/demos/p2pfileshare2/src/P2PObjRep.mxml">The whole source code can be found here</a>.</p><h3>Creating ByteArray P2P File Sharing</h3><p>By following the concept above it&rsquo;s possible to load a file from disk or url and then start sharing it with others.</p><p>This explains how the <a href="http://flashrealtime.com/demos/p2pfileshare2/P2PFileSharing.html">first demo works</a>.</p><p>For this I&rsquo;ve split the application into four different classes:</p><p><b><a href="http://flashrealtime.com/demos/p2pfileshare2/src/LocalFileLoader.as">LocalFileLoader.as</a></b><br />Loads a file using FileReference and splits it into chunks (~64 KB each).</p><p><b><a href="http://flashrealtime.com/demos/p2pfileshare2/src/P2PFileShare.as">P2PFileShare.as</a></b><br />Connects to Stratus and handles all Object Replication sending and receiving</p><p><b><a href="http://flashrealtime.com/demos/p2pfileshare2/src/P2PSharedObject.as">P2PSharedObject.as</a></b><br />A simple value object, which holds the data (ByteArray), size, packetLenght, actualFetchIndex and chunks; it&rsquo;s used by both classes above.</p><p><b><a href="http://flashrealtime.com/demos/p2pfileshare2/src/P2PFileSharing.mxml">P2PFileSharing.mxml</a></b><br />The user interface, which puts it all together.</p><p>The <a href="http://flashrealtime.com/demos/p2pfileshare2/src/P2PFileSharing.zip">complete source code can be found here</a>.</p><p>The <strong>Provider</strong> should look like this after sending the data:</p><p style="text-align: center"><img alt="" src="/upload/201007180221382363.png" /></p><p style="text-align: left">The <strong>Receiver</strong> should look like this after receiving the data:</p><p style="text-align: center"><img alt="" src="/upload/201007180222280864.png" /></p><p>In the next tutorial, I will look at how to use Object Replication with VOD video.</p><h3>Where to go from here</h3><p>Check other tutorials on P2P in Flash:</p><p>- <a href="http://www.flashrealtime.com/p2p-groupspecifier-explained-1/">P2P GroupSpecifier Class Explained In Details Part 1</a><br />- <a href="http://www.flashrealtime.com/multicast-explained-flash-101-p2p/">Multicast Explained in Flash 10.1 P2P</a><br />- <a href="http://www.flashrealtime.com/directed-routing-explained-flash-p2p/">Directed Routing Explained in Flash 10.1 P2P</a><br />- <a href="http://www.flashrealtime.com/simple-chat-p2p-netgroup-rtmfp/">Simple chat with P2P NetGroup in FP 10.1</a></p><p>Video tutorials:<br />- <a href="http://www.flashrealtime.com/peer-to-peer-chat-netgroup-flash-player-101/">P2P Chat with NetGroup in Flash Player 10.1</a><br />- <a href="http://www.flashrealtime.com/tutorial-multicast-streaming-in-flash-player-101/">Multicast Streaming in Flash Player 10.1 Tutorial</a></p><p class="postmetadata">Tags: <a rel="tag" href="http://www.flashrealtime.com/tag/flash/">flash</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/flash-media-server/">Flash Media Server</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/flash-player-101/">flash player 10.1</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/fms/">fms</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/object-replication/">object replication</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/p2p/">P2P</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/peer-to-peer/">peer-to-peer</a>, <a rel="tag" href="http://www.flashrealtime.com/tag/stratus/">stratus</a><br />Posted in <a title="View all posts in Tutorial" rel="category tag" href="http://www.flashrealtime.com/category/tutorial/">Tutorial</a> |</p>]]></description><category>FMS</category><comments>http://www.fmser.cn/post/87.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=87</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=87&amp;key=915d0fe7</trackback:ping></item><item><title>Flash P2P 直播测试(LIVE)</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/86.html</link><pubDate>Thu, 15 Jul 2010 09:07:26 +0800</pubDate><guid>http://www.fmser.cn/post/86.html</guid><description><![CDATA[<p style="text-align: left">利用Stratus2 组的功能实现的<span style="color: #ff0000">LIVE直播</span>,主要想验证两个问题:</p><p style="text-align: left">1、观看的人越多，越流畅。</p><p style="text-align: left">2、可以部分解决打洞问题，在线人越多的时候，原来观看不到视频的客户端有可能观看到视频。</p><p style="text-align: left">感兴趣的同行可以测试一下。</p><p style="text-align: center"><embed height="530" width="530" src="http://labs.fmser.cn/swf/p2pGroups_player.swf" type="application/x-shockwave-flash" play="true" loop="true" menu="true" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>]]></description><category>FMS</category><comments>http://www.fmser.cn/post/86.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=86</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=86&amp;key=841b0b97</trackback:ping></item><item><title>FlashQQ</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/52.html</link><pubDate>Mon, 05 Jul 2010 21:45:46 +0800</pubDate><guid>http://www.fmser.cn/post/52.html</guid><description><![CDATA[<p>FlashQQ是我利用业余时间开发的一款Flash p2p的视频语音通讯工具,目前已实现一对一,一对多对聊功能.</p><p>技术使用Adobe Stratus+FMS+AIR.</p><p style="text-align: left"><span style="color: #ff0000"><a target="_blank" href="http://labs.fmser.cn//software/flashQQ.rar"><span style="color: #ff0000">点此下载体验(2010-7-22更新).</span></a></span></p><p>截图:</p><p style="text-align: center">&nbsp;</p><p>&nbsp;</p><p style="text-align: center"><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/flashQQ1.PNG" /></p><p style="text-align: center">&nbsp;</p><p>&nbsp;</p><p style="text-align: center"><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/flashQQ2.png" /></p><p style="text-align: center">&nbsp;</p><p>&nbsp;</p><p style="text-align: center"><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/flashQQ3.png" /></p><p style="text-align: left">&nbsp;</p>]]></description><category>FlashQQ</category><comments>http://www.fmser.cn/post/52.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=52</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=52&amp;key=d2ccb6da</trackback:ping></item><item><title>开启Flash p2p的组播(multicast)功能</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/84.html</link><pubDate>Sat, 03 Jul 2010 01:43:12 +0800</pubDate><guid>http://www.fmser.cn/post/84.html</guid><description><![CDATA[<p>Flash p2p的组播功能在内网很有用,比如,你可以用它来做企业内部大规模的视频直播、培训而不必太在意发布客户端的带宽和性能。</p><p>在开启Flash p2p 的组播功能时有两点要注意：</p><p>1、连接Stratus时的地址字符串应改为：</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stratusIP=&quot;rtmfp:&quot;;</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 而不再是大家熟悉的：</p><p>&nbsp;&nbsp;&nbsp;&nbsp; stratusPath=&quot;rtmfp://stratus.adobe.com/devKey/&quot;;</p><p>2、要给组绑定一个组播地址：</p><p>private function initGroups()<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;myGroupSpecifier = new GroupSpecifier(&quot;cn.fmser.group/1&quot;);<br />&nbsp;&nbsp;&nbsp;myGroupSpecifier.multicastEnabled = true;<br />&nbsp;&nbsp;&nbsp;myGroupSpecifier.postingEnabled = true;<br />&nbsp;&nbsp;&nbsp;myGroupSpecifier.ipMulticastMemberUpdatesEnabled = true;<br />&nbsp;&nbsp;&nbsp;myGroupSpecifier.addIPMulticastAddress(&quot;224.0.1.200:3000&quot;);<br />&nbsp;&nbsp;&nbsp;myGroupSpec = myGroupSpecifier.groupspecWithoutAuthorizations();<br />&nbsp;&nbsp;&nbsp;myNG = new NetGroup(myNC,myGroupSpec);<br />&nbsp;&nbsp;&nbsp;myNG.addEventListener(NetStatusEvent.NET_STATUS,groupStatus);<br />&nbsp;&nbsp;}</p><p>其余的发布播放跟大家熟悉的代码就没什么区别了。</p>]]></description><category>FMS</category><comments>http://www.fmser.cn/post/84.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=84</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=84&amp;key=3ae387af</trackback:ping></item><item><title>Air2 ServerSocket 实现文本聊天</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/83.html</link><pubDate>Tue, 22 Jun 2010 15:07:45 +0800</pubDate><guid>http://www.fmser.cn/post/83.html</guid><description><![CDATA[<p style="text-align: left">AIR2目前已放出正式版，新的AIR2已经支持ServerSocket，利用ServerSocket可以实现很多有趣实用的功能，其中最有代表性的就是聊天系统.</p><p style="text-align: center"><embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://labs.fmser.cn/socket/client.swf" width="560" height="400" type="application/x-shockwave-flash" play="true" loop="true" menu="true"></embed></p>]]></description><category>AIR</category><comments>http://www.fmser.cn/post/83.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=83</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=83&amp;key=e73c494c</trackback:ping></item><item><title>神秘上海人出价200万竞得史玉柱3小时</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/82.html</link><pubDate>Wed, 16 Jun 2010 20:05:42 +0800</pubDate><guid>http://www.fmser.cn/post/82.html</guid><description><![CDATA[<div id="Cnt-Main-Article-QQ"><p style="text-indent: 2em">&nbsp;</p><p style="text-indent: 2em">&nbsp;</p><p align="center"><img alt="神秘上海人出价200万竞得史玉柱3小时" src="http://img1.gtimg.com/tech/pics/hv1/8/29/549/35706128.jpg" /></p><p align="center"><a class="a-tips-Article-QQ" href="http://datalib.tech.qq.com/people/21/index.shtml" target="_blank"><font color="#000000">史玉柱</font></a>的3小时网上拍卖，竞价超200万元（腾讯科技配图）</p><p style="text-indent: 2em"><strong>腾讯科技讯</strong>（李松伟）6月16日消息，6月15日晚上10点，备受业界关注的巨人网络董事长&ldquo;史玉柱的3小时&rdquo;正式落槌，中标者为来自上海市的苏彦彬，他的出价是2001221元。拍卖纪录显示，在为期3个月的拍卖过程中，共有286位竞拍者叫价638次。</p><p style="text-indent: 2em">3月17日，&ldquo;拍卖名人时间&rdquo;栏目和优米网同时上线，首期拍卖的是巨人网络董事长兼CEO史玉柱的3小时，竞拍时间是3月15日-6月15日。该栏目历史叫价记录显示，在3月17日零点55分和58分有3起竞价，上午10点后竞价正式展开。在此后相当长一段时间里，&ldquo;拍卖名人时间&rdquo;栏目的知名度都超过优米网本身。</p><p style="text-indent: 2em">作为&ldquo;名人拍卖时间&rdquo;的幕后策划者，前央视制片人、因主持《赢在中国》而被大家所熟知的优米网创始人王利芬并不讳言该这一创意取自&ldquo;股神&rdquo;巴菲特拍卖午餐时间。</p><p style="text-indent: 2em">虽然无论是在个人知名度上还是在个人财富本身，作为&ldquo;中国最出名的失败者&rdquo;史玉柱与股神巴菲特都还有不小的差距，在最新一期的富豪榜排名上，两人的财富分别为145亿人民币和470亿美元。但拍卖的结果并没有两人个人财富相差的那么悬殊，在不久前刚刚落槌的最新一&ldquo;顿&rdquo;巴菲特午餐的价格是262.6311万美元，与之相对应的是史玉柱200.1221万人民币。</p><p style="text-indent: 2em">不过如果都比较第一次拍卖价格的话，史玉柱就要辉煌的多，因为巴菲特午餐第一次拍卖仅拍的2.5万美元善款。</p><p style="text-indent: 2em">不得不承认的是，无论炒作也好，做慈善也好，王利芬都抓住国人时下追星财富英雄的普遍心理，也让数亿网民知晓了自己创办的网络电视台优米网，这无疑就是一个巨大的成功。</p><p style="text-indent: 2em">在向媒体解释自己为何会&ldquo;拍卖名人时间&rdquo;时，王利芬曾说，&ldquo;<a class="a-tips-Article-QQ" href="http://datalib.tech.qq.com/people/1/index.shtml" target="_blank"><font color="#000000">马云</font></a>C2C的网站淘宝是淘东西，卖有形的物品。我这个要做的实际上是淘人们脑子中的智慧和经验。&rdquo;</p><p style="text-indent: 2em">而在创办&ldquo;拍卖名人时间&rdquo;栏目后，她同时承诺会有更多名人会参与支持这一档栏目，史玉柱之后下一次拍卖哪位名人的时间，将由网民投票决定。</p><p style="text-indent: 2em">也许是巧合，在优米网所做的&ldquo;你想和谁面对面&rdquo;票选中，阿里巴巴董事局主席马云即以4060票高居第一，紧跟马云之后的就是被称为&ldquo;究极华丽第一极品路人帅哥&rdquo;的&ldquo;乞丐王子&rdquo;犀利哥，而优米网创始人王利芬则高居第三。</p></div>]]></description><category>其它</category><comments>http://www.fmser.cn/post/82.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=82</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=82&amp;key=1b9eb1bb</trackback:ping></item><item><title>目前国内最好的在线视频招聘(在线视频面试)系统(新增p2p版本)</title><author>xbzg@live.cn (西部秋虫)</author><link>http://www.fmser.cn/post/54.html</link><pubDate>Sun, 06 Jun 2010 20:48:39 +0800</pubDate><guid>http://www.fmser.cn/post/54.html</guid><description><![CDATA[<p>贴一个最近完成的在线招聘(在线面试)系统,新版本加入了p2p支持,这套系统是目前国内最好的在线视频招聘(在线视频面试)系统.</p><p>多对多模式：</p><p><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/3vs3.jpg" /></p><p>二对一模式：&nbsp;</p><p><img title="" alt="" onload="ResizeImage(this,520)" src="http://www.fmser.cn/upload/视频招聘系统.jpg" /></p><p>&nbsp;使用单位:<a target="_blank" href="http://www.gxedu.gov.cn/">广西教育厅就业指导中心</a>&nbsp; <a class="l" target="_blank" onmousedown="return clk(0,'','','res','1','','0CAYQFjAA')" href="http://www.hnjycy.com/"><span style="font-size: smaller"><span><font size="3"><font color="#cc0033">沃科网</font><font color="#551a8b">--河南省大学生就业创业服务平台</font></font></span></span></a></p><p>测试地址：</p><p>FMS版本:</p><p><a target="_blank" href="http://labs.fmser.cn/engageOnLine_fms/teacher_2vs1.html">招聘官(2vs1)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_fms/student_2vs1.html">应聘者(2vs1)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_fms/teacher_3vs3.html">招聘官(3vs3)&nbsp;</a>&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_fms/student_3vs3.html">应聘者(3vs3)&nbsp;</a>&nbsp;</p><p>P2P版本:</p><p><a target="_blank" href="http://labs.fmser.cn/engageOnLine_p2p/teacher_2vs1.html">招聘官(2vs1)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_p2p/student_2vs1.html">应聘者(2vs1)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_p2p/teacher_3vs3.html">招聘官(3vs3)&nbsp;</a>&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://labs.fmser.cn/engageOnLine_p2p/student_3vs3.html">应聘者(3vs3)&nbsp;</a>&nbsp;</p><p>&nbsp;</p>]]></description><category>案例</category><comments>http://www.fmser.cn/post/54.html#comment</comments><wfw:comment>http://www.fmser.cn/</wfw:comment><wfw:commentRss>http://www.fmser.cn/feed.asp?cmt=54</wfw:commentRss><trackback:ping>http://www.fmser.cn/cmd.asp?act=tb&amp;id=54&amp;key=d391aa5b</trackback:ping></item></channel></rss>
