<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Flas Media Server</title>
	<atom:link href="http://qweexz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://qweexz.wordpress.com</link>
	<description>Tutorials</description>
	<lastBuildDate>Fri, 30 Oct 2009 14:43:55 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='qweexz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Flas Media Server</title>
		<link>http://qweexz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://qweexz.wordpress.com/osd.xml" title="Flas Media Server" />
	<atom:link rel='hub' href='http://qweexz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Survey and Survey Admin</title>
		<link>http://qweexz.wordpress.com/2009/10/30/survey-and-survey-admin/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/survey-and-survey-admin/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:21:43 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=40</guid>
		<description><![CDATA[There are two components to this application. The first demonstrates how you can create a client application for visiting a survey, voting and viewing results. The second demonstrates how you can create one or more surveys, enter your questions and answer choices. Sample Application: Survey Description This sample demonstrates how you can create a client [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=40&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are two components to this application. The first demonstrates how you can create a client application for visiting a survey, voting and viewing results. The second demonstrates how you can create one or more surveys, enter your questions and answer choices.</p>
<p>Sample Application: Survey</p>
<p>Description<br />
This sample demonstrates how you can create a client application for visiting a survey, voting and viewing results.</p>
<p>Key features<br />
Multiple remote SharedObjects.</p>
<p>Instructions<br />
You can vote in a survey and when you have gone through all of the questions (which you must answer to proceed) you can view the results of the survey.<br />
At this point you can change surveys to go vote on something else.</p>
<p>Click <a href="http://www.sigmirror.com/files/36772_fdoas/sample_survey.fla">sample_survey.fla</a> to begin.</p>
<p>Sample Application: Survey Admin</p>
<p>Description<br />
This sample demonstrates how you can create one or more surveys, enter your questions and answer choices.</p>
<p>Key features<br />
Multiple remote SharedObjects.</p>
<p>Instructions<br />
If you wish to create a new survey, type in a name (no spaces) and click &#8216;Make Survey&#8217;. Enter as many questions as you would like with as many choices you would like for each question (1 to 5 in number). Click &#8216;Submit&#8217; to submit the question. When finished use the &#8216;Main&#8217; button to return to the start and you can either: 1) make another new survey; or 2) edit an existing survey by selecting a survey title from the combo box and clicking on &#8216;Edit Survey&#8217;; or 3) view the results of an existing survey by selecting a survey title from the combo box and clicking on &#8216;View Results&#8217;</p>
<p>Click <a href="http://www.sigmirror.com/files/36773_qlpwq/sample_survey_admin.swf">sample_survey_admin.swf</a> to begin.</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=40&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/survey-and-survey-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Broadcast Presentation</title>
		<link>http://qweexz.wordpress.com/2009/10/30/broadcast-presentation/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/broadcast-presentation/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:21:40 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=44</guid>
		<description><![CDATA[This sample shows how to host a presentation with one speaker and many subscribers. There is a single audio/visual piece, a questions and answers capability, and a slide show, into which other swfs can be loaded. Sample Application: Broadcast Presentation Description This sample shows how to host a presentation with one speaker and many subscribers. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=44&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This sample shows how to host a presentation with one speaker and many subscribers. There is a single audio/visual piece, a questions and answers capability, and a slide show, into which other swfs can be loaded.</p>
<p>Sample Application: Broadcast Presentation</p>
<p>Description<br />
This sample shows how to host a presentation with one speaker and many subscribers. There is a audio/visual piece for the Speaker, a questions and answers capability with it&#8217;s own audio/visual, and a slideshow, into which other swfs can be loaded.</p>
<p>Key features<br />
SharedObjects, NetStreams</p>
<p>Instructions<br />
One person must log in as the Speaker to get the presentation started. The movie that is loaded into the slideshow piece must have a slide on each frame, as the main broadcast app will navigate through the slideshow movie frame-by-frame.</p>
<p>To connect as the Speaker and host a presentation click  <a href="http://www.sigmirror.com/files/36774_wnssu/sample_broadcast.swf">sample_broadcast.swf</a> </p>
<p>To connect as a presentation viewer click <a href="http://www.sigmirror.com/files/36775_gjqua/simple_preso.swf">simple_preso.swf</a>to begin.</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=44&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/broadcast-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Camera Snapshot</title>
		<link>http://qweexz.wordpress.com/2009/10/30/camera-snapshot/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/camera-snapshot/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:21:32 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=48</guid>
		<description><![CDATA[demostrates how to capture a single frame, save it on the server, and play it back. sample_snapshot.swf Posted in Live Sample Applications<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=48&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>demostrates how to capture a single frame, save it on the server, and play it back.</p>
<p><a href="http://www.sigmirror.com/files/36776_jwb0v/sample_snapshot.swf">sample_snapshot.swf</a></p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=48&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/camera-snapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Lobby and Audio Conference</title>
		<link>http://qweexz.wordpress.com/2009/10/30/lobby-and-audio-conference/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/lobby-and-audio-conference/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:17:05 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=38</guid>
		<description><![CDATA[These samples are tied to each other. They demonstrate how you can create a portal for accessing multiple instances of an application. It uses a &#8220;room&#8221; metaphor that allows users to create named application instances or join an existing session. It also allows users who are in the lobby to chat with each other and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=38&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These samples are tied to each other. They demonstrate how you can create a portal for accessing multiple instances of an application. It uses a &#8220;room&#8221; metaphor that allows users to create named application instances or join an existing session. It also allows users who are in the lobby to chat with each other and see who else is present.<br />
Concepts: using applications instances for different groups of people<br />
In Sample Applications &gt; Tutorial 5, Text Chat: shows a simple way to create multiple &#8220;rooms&#8221; each with a list of people and a text chat area with history.</p>
<p>Sample Application: Lobby And Audio Conference</p>
<p>Description<br />
The lobby sample application provides a demonstration of several key features, all implemented as Components. The connection Component lets you login by clicking Login to specify a username, this will then let you use all the other features of the application. A chat window lets all users logged in chat with each other and has basic features such as URL highlighting, and colored text for each user. A list of users is shown next to the chat that will display the username of any logged in user. The room list lets you create your own room, delete an empty room, and join an existing room; it also displays how many people are in each room. Clicking on Join Room will open a selected room in a new window. The sample_room you are taken to is an example of how to make a simple destination application that is linked to from the room list Component.</p>
<p>Key features<br />
SimpleConnect Component for easy connection management to the Flash Media Server 2. Chat, PeopleList and RoomList Components that provide additional enhancements to this application without having to manually add any code. The sample_room application also makes use of the AudioConference Component.</p>
<p>Click <a href="http://www.sigmirror.com/files/36777_84kua/sample_lobby.swf">sample_lobby.swf</a>l to begin (note: Using the join room feature only works properly when the files are loaded via a web server as apposed to being launched from the local file system).</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=38&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/lobby-and-audio-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Video Conference</title>
		<link>http://qweexz.wordpress.com/2009/10/30/video-conference/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/video-conference/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 09:55:01 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=32</guid>
		<description><![CDATA[This sample shows how to manage a large number of streams for dynamic video conferencing. Note that every user of this application publishes one stream and subscribes to everyone else stream. This can provide a very effective user experience when each meeting attendee has equal importance; however, bandwidth usage of your server grows exponentially (with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=32&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This sample shows how to manage a large number of streams for dynamic video conferencing. Note that every user of this application publishes one stream and subscribes to everyone else stream. This can provide a very effective user experience when each meeting attendee has equal importance; however, bandwidth usage of your server grows exponentially (with the number of streams) as the number of users increase.<br />
Concepts: shared state using shared objects<br />
In Sample Applications &gt; Tutorial 3, Shared Ball: demonstrates shared context using remote shared objects to synchronize x,y coordinates of a graphical object viewed by multiple people. This concept is used in the video conference for the position and movement of the windows.</p>
<p>Description<br />
This sample demonstrates how you can manage bandwidth in a multi-person meeting over connections with varying bandwidth.</p>
<p>Key features<br />
SharedObjects, NetConnection, NetStream, setBandwidthLimit.</p>
<p>Instructions<br />
The app does not manage separate rooms, so just run the swf to join the meeting in progress. To adjust your bandwidth settings you can do the following: Go to the bandwidth drop-down menu to the left of the connection light. Choose &#8220;Custom&#8221; within the bandwidth drop-down menu. A new dialog pops up in which latency can be decreased by lowering the up and/or down bandwidths by choosing one of the options within the &#8220;Up Limit&#8221; or &#8220;Down Limit&#8221; drop-down menus. Latency can be decreased by lowering the up and/or down bandwidths or by setting a less demanding video mode.</p>
<p>Click <a href="http://www.sigmirror.com/files/36778_nsyrq/sample_videoconference.swf">sample_videoconference.swf</a> to begin.</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=32&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/video-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Guestbook</title>
		<link>http://qweexz.wordpress.com/2009/10/30/guestbook/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/guestbook/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 09:53:52 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=29</guid>
		<description><![CDATA[Sample Application: A/V Guestbook Description This is a simple extension of the text-only guestbook we all know. Using the features provided by the Macromedia Flash Media Server, this guestbook will enable visitors to leave audio/video messages, as well as regular text messages. This sample is intended to be a sample, easy to understand application. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=29&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sample Application: A/V Guestbook</p>
<p>Description<br />
This is a simple extension of the text-only guestbook we all know. Using the features provided by the Macromedia Flash Media Server, this guestbook will enable visitors to leave audio/video messages, as well as regular text messages.</p>
<p>This sample is intended to be a sample, easy to understand application. The UI is pretty straightforward, and the code is easy to read.</p>
<p>Key features<br />
The entries are stored in a Shared Object persistent on the server.<br />
This sample is easy enough to be a starting point for learning how Shared Objects and server-side code work.</p>
<p>Click <a href="http://www.sigmirror.com/files/36779_lbyw0/sample_guestbook.swf">sample_guestbook.swf</a> to begin.</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=29&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/guestbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Panel Presentation</title>
		<link>http://qweexz.wordpress.com/2009/10/30/panel-presentation/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/panel-presentation/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 09:52:15 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Live Sample Applications]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=27</guid>
		<description><![CDATA[Description This sample shows an example of a presentation where there may be multiple speakers and a larger audience who can listen or participate using a text chat. It is designed using a model where each participant has equal control. There is no enforced moderation; instead it may be used by a group where standard [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=27&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Description<br />
This sample shows an example of a presentation where there may be multiple speakers and a larger audience who can listen or participate using a text chat. It is designed using a model where each participant has equal control. There is no enforced moderation; instead it may be used by a group where standard social dynamics (conversations or an invitation to an event) indicate who should be controlling the slides or speaking at any time.</p>
<p>Key features<br />
SharedObjects, NetStreams</p>
<p>Instructions<br />
There are three spots where anyone may click to publish their audio and video. Text slides can be prepared in advance or edited in real-time. People watch the presentation without being required to log in, but to participate in the chat or audio/video, they must supply a user name and log in.</p>
<p>To connect click <a href="http://www.sigmirror.com/files/36780_m8ghf/sample_panel_presentation.swf">sample_panel_presentation.swf</a> to begin.</p>
<br />Posted in Live Sample Applications  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=27&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/panel-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial 5: Shared Ball</title>
		<link>http://qweexz.wordpress.com/2009/10/30/tutorial-3-shared-ball-2/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/tutorial-3-shared-ball-2/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 08:46:06 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Tutorials Flash Media Server]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=18</guid>
		<description><![CDATA[This tutorial allows users to move a ball around the screen and to watch while other participants move the same ball around. It demonstrates that graphics, as well as text, can be shared between users. Viewing the application Re-creating the application The sharedball.flaa provides the ActionScript for creating a remote shared object that synchronizes and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=18&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This tutorial allows users to move a ball around the screen and to watch while other participants move the same ball around. It demonstrates that graphics, as well as text, can be shared between users.</p>
<p>Viewing the application</p>
<p>Re-creating the application</p>
<p>The <a href="http://www.sigmirror.com/files/36787_pknab/sharedball.fla">sharedball.fla</a>a provides the ActionScript for creating a remote shared object that synchronizes and updates the ball position for each user.</p>
<p>This tutorial uses a graphic shared object and the onSync event handler.</p>
<p>Before you start to re-create the application, see &#8220;Creating your working environment&#8221; in Developing Communication Applications.</p>
<p>To create the user interface:</p>
<p>1</p>
<p>In the Macromedia Flash authoring environment, select File &gt; New to open a new file.</p>
<p>2</p>
<p>From the toolbox, select the Circle tool and draw a circle.</p>
<p>3</p>
<p>Double-click the circle to select it, then choose Insert &gt; Convert to Symbol.</p>
<p>4</p>
<p>In the Convert to Symbol dialog, name the symbol ball and click OK.</p>
<p>5</p>
<p>With the ball symbol selected on the Stage, in the Property inspector (Window &gt; Properties), give it the instance name SharedBall_mc.</p>
<p>6</p>
<p>Save the file as tutorial_sharedball.fla.</p>
<p>7</p>
<p>To register your application with the server, create a directory with the same name as your application, tutorial_sharedball, in your /applications directory in the Flash Media Server directory.</p>
<p>To write the Client-Side Communication ActionScript:</p>
<p>1</p>
<p>Select the keyframe in the Timeline and open the Actions panel (Window &gt; Actions).</p>
<p>2</p>
<p>In the Actions panel, stop the progress of the movie.</p>
<p>stop();</p>
<p>3</p>
<p>Create a new network connection to connect to the server and handle any status messages with the onStatus function.</p>
<p>// Create a connection<br />
client_nc = new NetConnection();<br />
// Show connection status in output window</p>
<p>client_nc.onStatus = function(info) {<br />
	trace(&#8220;Level: &#8221; + info.level + &#8221;   Code: &#8221; +  info.code);<br />
};</p>
<p>// Connect to the application<br />
client_nc.connect(&#8220;rtmp:/tutorial_sharedball/room_01&#8243;);</p>
<p>4</p>
<p>Create a remote shared object to hold the x/y coordinates of the ball.</p>
<p>// Create a remote shared object<br />
ball_so = SharedObject.getRemote(&#8220;position&#8221;, client_nc.uri, false);</p>
<p>// Update ball position when another participant moves the ball<br />
ball_so.onSync = function(list) {<br />
	SharedBall_mc._x = ball_so.data.x;<br />
	SharedBall_mc._y = ball_so.data.y;<br />
};</p>
<p>5</p>
<p>When you get a shared object, make sure you connect it to the NetConnection object.</p>
<p>// Connect to the shared object<br />
ball_so.connect(client_nc);</p>
<p>6</p>
<p>Create the function that updates the shared object data with the position of the ball.</p>
<p>// Manipulate the ball<br />
SharedBall_mc.onPress = function() {<br />
	this.onMouseMove = function() {<br />
		ball_so.data.x = this._x = _root._xmouse;<br />
		ball_so.data.y = this._y = _root._ymouse;</p>
<p>		// Constrain the ball to the stage<br />
		if (SharedBall_mc._x&gt;=Stage.width) {<br />
			SharedBall_mc._x = Stage.width &#8211; 50;<br />
		}<br />
		if (SharedBall_mc._x=Stage.height) {<br />
			SharedBall_mc._y = Stage.height &#8211; 50;<br />
		}<br />
		if (SharedBall_mc._y Publish.</p>
<p>2</p>
<p>Open two instances of the SWF file.</p>
<p>3</p>
<p>Move the ball in one instance to see the other immediately updated.</p>
<br />Posted in Tutorials Flash Media Server  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=18&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/tutorial-3-shared-ball-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial 4: Text Chat</title>
		<link>http://qweexz.wordpress.com/2009/10/30/tutorial-5-text-chat/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/tutorial-5-text-chat/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 08:40:26 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Tutorials Flash Media Server]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=14</guid>
		<description><![CDATA[In Tutorial 2: Shared Text, you created a remote shared object that enabled a user to view another user&#8217;s typing in real time, letter by letter. In this next tutorial, you&#8217;ll create a different kind of shared object that sends whole messages on command. You&#8217;ll also add several elements to make the text chat application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=14&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Tutorial 2: Shared Text, you created a remote shared object that enabled a user to view another user&#8217;s typing in real time, letter by letter. In this next tutorial, you&#8217;ll create a different kind of shared object that sends whole messages on command. You&#8217;ll also add several elements to make the text chat application more versatile, including fields for logging in, typing in a chat room name, and viewing the list of current participants.</p>
<p>Re-creating the application</p>
<p>The <a href="http://www.sigmirror.com/files/36782_ryyug/tutorial_text.fla">tutorial_text.fla</a> file provides the ActionScript for letting multiple users share text in real time.</p>
<p>In a chat room, you want to view current users dynamically. When users log in to a room, the list should be updated; when users log off, they should be removed from the list. It&#8217;s best to do this processing work on the server, because keeping data centrally on the server means that any client can come and go, and the data will always be accurate and available.</p>
<p>In addition, in this tutorial, the server doesn&#8217;t simply hand off the text from one client to another—it actually makes changes to the message by adding the name of the user who typed it. Because you expect the server to provide this functionality, you need to write some Server-Side Communication ActionScript to handle this work.</p>
<p>Finally, this tutorial also illustrates how to dynamically add an instance name to a NetConnection.connect command based on data entered by the user.</p>
<p>Before you start to re-create the application, see &#8220;Creating your working environment&#8221; in Developing Communication Applications.</p>
<p>To create the user interface:</p>
<p>1</p>
<p>In the Macromedia Flash authoring environment, select File &gt; New to open a new file.</p>
<p>2</p>
<p>To add a text box to enter a user name, select the Text tool and draw a text box on the Stage. In the Property inspector (Window &gt; Properties), select Input Text for the type of text box, give it the instance name User, and select the Show Border Around Text option.</p>
<p>3</p>
<p>To add a text box to enter the name of a chat room to join, draw another text box below the User text box. In the Property inspector (Window &gt; Properties), select Input Text for the type of text box, give it the instance name Room, and select the Show Border Around Text option.</p>
<p>4</p>
<p>To add a text box to type messages, draw another text box below the Room text box. In the Property inspector, select Input Text for the type of text box, give it the instance name Message, and select the Show Border Around Text option.</p>
<p>5</p>
<p>To display the chat history, draw a fourth text box below the Message text box. In the Property inspector, select Dynamic Text for the type of text box, give it the instance name History, and select the Show Border Around Text option.</p>
<p>6</p>
<p>To add a place where users are listed, open the Components panel (Windows &gt; Components), drag the List Box component onto the Stage, and give it the instance name People.</p>
<p>7</p>
<p>To add the button to connect to the server, drag a push button from the Components panel and place it on the Stage next to the User and Room text boxes. In the Property inspector, give it the instance name Connect_btn, the label Connect, and the click handler doConnect.</p>
<p>8</p>
<p>To add the button to send messages, drag a push button from the Components panel and place it on the Stage next to the Message text box. In the Property inspector, give it the instance name Send_btn, the label Send, and the click handler doSend.</p>
<p>9</p>
<p>Save the file as tutorial_textchat.fla.</p>
<p>10</p>
<p>To register the application with the server, create a directory with the same name as your application, tutorial_textchat, in your /applications directory in the Flash Media Server directory.</p>
<p>To write the client-side ActionScript:</p>
<p>1</p>
<p>Select the keyframe in the Timeline and open the Actions panel (Window &gt; Actions).</p>
<p>2</p>
<p>In the Actions panel, stop the progress of the movie.</p>
<p>stop();</p>
<p>3</p>
<p>Provide a value for the maximum scrolling of the History text box component.</p>
<p>// Set maximum scroll<br />
History.maxscroll = 1000;</p>
<p>4</p>
<p>Prevent the user from sending until after the user has connected to the server.</p>
<p>// Don&#8217;t allow the user to send until after connection<br />
_root.Send_btn.setEnabled(false);</p>
<p>5</p>
<p>Create a new connection object.</p>
<p>// Open a connection to the server<br />
client_nc = new NetConnection();</p>
<p>6</p>
<p>Provide an onStatus for the connection object function to handle any connection status messages. If the connection has been closed, the History text box and the People list box are cleared of all content.</p>
<p>// If connection is closed, clear the History and the list<br />
client_nc.onStatus = function(info) {</p>
<p>	trace(&#8220;Level: &#8221; + info.level + &#8221;   Code: &#8221; +  info.code);</p>
<p>	if (info.description == &#8220;NetConnection.Connect.Closed&#8221;) {<br />
		History.text = &#8220;&#8221;;<br />
		_root.People.removeAll();<br />
	}<br />
}</p>
<p>7</p>
<p>Create the event handler for the Connect button. If the user clicked the button when the label was Connect, then connect to the server and update the buttons.</p>
<p>function doConnect() {</p>
<p>	if (Connect_btn.getLabel() == &#8220;Connect&#8221;) {</p>
<p>		// Connect to the chat application.<br />
		// The second parameter, _root.Room.text,<br />
		// is the application instance.<br />
		_root.client_nc.connect(&#8220;rtmp:/tutorial_textchat/&#8221; + _root.Room.text,<br />
												_root.User.text);</p>
<p>		// Update button label<br />
		Connect_btn.setLabel(&#8220;Disconnect&#8221;);</p>
<p>		// Enable send button<br />
		_root.Send_btn.setEnabled(true);</p>
<p>8</p>
<p>In the same doConnect function, create a remote shared object and connect to it.</p>
<p>		// Create a remote shared object to keep track<br />
		// of the users. The value client_nc.uri is the URI of the<br />
		// NetConnection the shared object will use to connect to the<br />
		// server. I.e., the one just created.<br />
		users_so = SharedObject.getRemote(&#8220;users_so&#8221;, _root.client_nc.uri,<br />
																false);</p>
<p>		// Attach the shared object to client_nc<br />
		users_so.connect(_root.client_nc);</p>
<p>9</p>
<p>In the same doConnect function, create the onSync method to handle the change in users.</p>
<p>		// When the list of users_so is updated, refresh the<br />
		// People list box.<br />
		users_so.onSync = function(userList) {</p>
<p>			_root.People.removeAll();</p>
<p>			for ( var i in users_so.data) {<br />
				if (users_so.data[i] != null) {<br />
					_root.People.addItem(users_so.data[i]);<br />
				}<br />
			}</p>
<p>			// Sort alphabetically, because order returned<br />
			// is not guaranteed to be consistent.<br />
			_root.People.sortItemsBy(&#8220;label&#8221;, &#8220;ASC&#8221;);<br />
		}</p>
<p>10</p>
<p>In the same doConnect function, provide a callback function to be called by the server.</p>
<p>		// Update the shared object with the message.<br />
		users_so.msgFromSrvr = function(msg) {</p>
<p>			_root.History.text += msg;<br />
			_root.History.scroll = _root.History.maxscroll;<br />
			historyScroll.setScrollTarget(history);<br />
			historyScroll.setScrollPosition(_root.History.maxscroll);<br />
		}<br />
	} </p>
<p>11</p>
<p>Lastly, in the same doConnect function, if the label on the Connect button is Disconnect, then close the connection and reset the buttons.</p>
<p>	else if (Connect_btn.getLabel() == &#8220;Disconnect&#8221;) {</p>
<p>		// Close connection<br />
		_root.client_nc.close();</p>
<p>		// Don&#8217;t allow the user to send when not connected<br />
		_root.Send_btn.setEnabled(false);</p>
<p>		// Rest button label<br />
		Connect_btn.setLabel(&#8220;Connect&#8221;);</p>
<p>	}<br />
} // doConnect function ends here</p>
<p>12</p>
<p>Create an event handler for when the user selects Send. In this function, if there&#8217;s any text in the Message input text box, call the server function, msgFromClient, and pass it the Message.text text.</p>
<p>// Send the message text by calling the server message function<br />
function doSend() {</p>
<p>	// If there&#8217;s message text, pass it to the server function msgFromClient<br />
	if (length(_root.Message.text) &gt; 0) {<br />
		_root.client_nc.call(&#8220;msgFromClient&#8221;, null, _root.Message.text);<br />
	}</p>
<p>	// Clear the message text<br />
	_root.Message.text = &#8220;&#8221;;</p>
<p>}</p>
<p>13</p>
<p>Create the setHistory function that the server calls to update the text in the History dynamic text box.</p>
<p>// Update the History on the server with the message<br />
client_nc.setHistory = function(msg) {<br />
	_root.History.text = msg;<br />
}</p>
<p>To write the server-side ActionScript:</p>
<p>1</p>
<p>Create a new file using your server-side ActionScript editor or text editor, and write the event handler onAppStart for initializing the application variables.</p>
<p>application.onAppStart = function()<br />
{<br />
	trace(&#8220;Begin sharing text&#8221;);</p>
<p>	// Get the server shared object users_so<br />
	application.users_so = SharedObject.get(&#8220;users_so&#8221;, false);</p>
<p>	// Initialize the history of the text share<br />
	application.history = &#8220;&#8221;;</p>
<p>	// Initialize the unique user ID<br />
	application.nextId = 0;<br />
}</p>
<p>2</p>
<p>Write the event handler onConnect for managing users and sending the history to all clients.</p>
<p>application.onConnect = function(newClient, name)<br />
{<br />
	// Make this new client&#8217;s name the user&#8217;s name<br />
	newClient.name = name;</p>
<p>	// Create a unique ID for this user while incrementing the<br />
	// application.nextID.<br />
	newClient.id = &#8220;u&#8221; + application.nextId++;</p>
<p>	// Update the users_so shared object with the user&#8217;s name<br />
	application.users_so.setProperty(newClient.name, name);</p>
<p>	// Accept the client&#8217;s connection<br />
 	application.acceptConnection(newClient);</p>
<p>	// Call the client function setHistory, and pass<br />
	// the initial history<br />
 	newClient.call(&#8220;setHistory&#8221;, null, application.history);</p>
<p>	// The client will call this function to get the server<br />
	// to accept the message, add the user&#8217;s name to it, and<br />
	// send it back out to all connected clients.<br />
	newClient.msgFromClient = function(msg) {<br />
		msg = this.name + &#8220;: &#8221; + msg + &#8220;\n&#8221;;<br />
		application.history += msg;<br />
		application.users_so.send(&#8220;msgFromSrvr&#8221;, msg);<br />
	}<br />
}</p>
<p>3</p>
<p>Write the event handler onDisconnect to clean up.</p>
<p>application.onDisconnect = function(client)<br />
{<br />
	trace(&#8220;disconnect: &#8221; + client.name);<br />
	application.users_so.setProperty(client.name, null);<br />
}</p>
<p>4</p>
<p>Save the file as main.asc in the tutorial_textchat directory you previously created under the /applications directory in the Flash Media Server directory.</p>
<p>Note: Save this main.asc file in the registered client application directory in the location you&#8217;ve chosen to store your server-side application files.</p>
<p>To test your application:</p>
<p>1</p>
<p>In the Flash authoring environment, after you have saved your work, publish it by selecting File &gt; Publish.</p>
<p>2</p>
<p>Open two instances of the SWF file.</p>
<p>3</p>
<p>In each instance, type a user name and room name, and click Connect. (Make sure to choose different user names but the same room name in both instances.) Each user name you enter appears in the People list box. Type a message in the Message text box and click Send to see the message appear in both instances of the SWF. </p>
<br />Posted in Tutorials Flash Media Server  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=14&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/tutorial-5-text-chat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial 3: Hello Server</title>
		<link>http://qweexz.wordpress.com/2009/10/30/tutorial-4-hello-server/</link>
		<comments>http://qweexz.wordpress.com/2009/10/30/tutorial-4-hello-server/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 08:38:20 +0000</pubDate>
		<dc:creator>qweexz</dc:creator>
				<category><![CDATA[Tutorials Flash Media Server]]></category>

		<guid isPermaLink="false">http://qweexz.wordpress.com/?p=12</guid>
		<description><![CDATA[This tutorial allows a user to connect to the server. The server sends back a message acknowledging that the user has connected. Re-creating the application This tutorial is the first to use Server-Side Communication ActionScript. In it, you write your client-side ActionScript in Macromedia Flash. Then, you write a corresponding function in server-side ActionScript that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=12&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This tutorial allows a user to connect to the server. The server sends back a message acknowledging that the user has connected.</p>
<p>Re-creating the application</p>
<p>This tutorial is the first to use Server-Side Communication ActionScript. In it, you write your client-side ActionScript in Macromedia Flash. Then, you write a corresponding function in server-side ActionScript that you store in a file called main.asc. The <a href="http://www.sigmirror.com/files/36786_v23h2/tutorial_hello.fla">tutorial_hello.fla</a> file provides the ActionScript for sending information from the server to the client.</p>
<p>Before you start to re-create the application, see &#8220;Creating your working environment&#8221; in Developing Communication Applications.</p>
<p>To create the user interface:</p>
<p>1</p>
<p>In the Flash authoring environment, select File &gt; New to open a new file.</p>
<p>2</p>
<p>From the toolbox, select the Text tool and draw a text box. In the Property inspector (Window &gt; Properties), select Input Text for the type of text box, select the Show Borders Around Text option, and give it the instance name User.</p>
<p>This is where you&#8217;ll type your login name.</p>
<p>3</p>
<p>Add a dynamic text box for a debug window by selecting the Text tool and drawing another text box. In the Property inspector, select Dynamic Text for the type of text box, select the Show Borders Around Text option, and give it the instance name Message.</p>
<p>There is where the message from the server will be displayed.</p>
<p>4</p>
<p>To add the button for connecting to the server, open the Components panel (Window &gt; Components) and drag a push button onto the Stage. In the Property inspector, give it the instance name Connect_btn, the label Connect, and the click handler doConnect.</p>
<p>5</p>
<p>Save the file as tutorial_hello.fla.</p>
<p>6</p>
<p>To register your application with the server, create a directory with the same name as your application, tutorial_hello, in your /applications directory in the Flash Media Server directory.</p>
<p>To write the client-side ActionScript:</p>
<p>1</p>
<p>Select the keyframe in the Timeline and open the Actions panel (Window &gt; Actions).</p>
<p>2</p>
<p>In the Actions panel, stop the progress of the movie.</p>
<p>stop();</p>
<p>3</p>
<p>Open a connection and handle any status messages.</p>
<p>// Open connection to the server<br />
client_nc = new NetConnection();</p>
<p>// Handle status message<br />
client_nc.onStatus = function(info) {<br />
	trace(&#8220;Level: &#8221; + info.level + &#8221;   Code: &#8221; +  info.code);<br />
}</p>
<p>4</p>
<p>Create the event handler for the Connect button. If the user selected the button when the label was Connect, then connect to the server. If the button label is Disconnect, close the connection.</p>
<p>// Event handler for Connect_Btn<br />
function doConnect() {</p>
<p>	// If user wants to connect&#8230;<br />
	if (Connect_btn.getLabel() == &#8220;Connect&#8221;) {</p>
<p>		// Connect to the chat application<br />
		client_nc.connect(&#8220;rtmp:/tutorial_hello/room_01&#8243;, User.text);</p>
<p>		// Update button label<br />
		Connect_btn.setLabel(&#8220;Disconnect&#8221;);</p>
<p>	// If user wants to disconnect&#8230;<br />
	} else if (Connect_btn.getLabel() == &#8220;Disconnect&#8221;) {</p>
<p>		// Close connection<br />
		client_nc.close();</p>
<p>		// Reset button label<br />
		Connect_btn.setLabel(&#8220;Connect&#8221;);</p>
<p>		// Reset the text fields<br />
		user.text = &#8220;&#8221;;<br />
		message.text = &#8220;&#8221;;<br />
	}<br />
}</p>
<p>5</p>
<p>Write the function the server will call to return the message to the client.</p>
<p>// Callback function server calls to send message back to<br />
// this client.<br />
client_nc.msgFromSrvr = function(msg) {</p>
<p>	var msg;<br />
	_root.Message.text = msg;</p>
<p>}</p>
<p>To write the server-side ActionScript:</p>
<p>1</p>
<p>Create a new file using your server-side ActionScript editor, and write an event handler for when the user connects. In it, you&#8217;ll receive the name passed in by the client, accept the client connection, create a message that uses the client&#8217;s name, and call the client msgFromSrvr function to return the message.</p>
<p>application.onConnect = function(newClient, name) {</p>
<p>	// Give this new client the same name as the user name<br />
	newClient.name=name;</p>
<p>	// Accept the new client&#8217;s connection<br />
 	application.acceptConnection(newClient);</p>
<p>	// Create a customized &#8220;Hello [client]&#8221; message<br />
	// that the server will send to the client<br />
	var msg = &#8220;Hello! You are connected as: &#8221; + newClient.name;</p>
<p>	// Print out status message in the application console<br />
	trace(&#8220;Sending this message: &#8221; + msg);</p>
<p>	// Call the client function, message, and pass it the msg<br />
	newClient.call(&#8220;msgFromSrvr&#8221;, false, msg);<br />
}</p>
<p>2</p>
<p>Save the file as main.asc in the registered application directory, the /applications/tutorial_hello directory in the Flash Media Server directory.</p>
<p>Note: If you have chosen to store your server-side application files in a location other than the default, you should save this main.asc file in that directory and register your applications there as well. For example, the default location is in the /applications directory in the Flash Media Server directory. The  tag in the Vhost.xml server configuration file contains the location of your /applications directory. For more information see Chapter 1 in Developing Communication Applications.</p>
<p>To test your application:</p>
<p>1</p>
<p>In the Flash authoring environment, after you have saved your work, publish it by selecting File &gt; Publish.</p>
<p>2</p>
<p>Open the SWF file.</p>
<p>3</p>
<p>Type your name in the input text box and click Connect. You&#8217;ll see a message like this one in the Message text box:</p>
<p>Hello! You are connected as: [your name]</p>
<br />Posted in Tutorials Flash Media Server  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qweexz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/qweexz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qweexz.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=qweexz.wordpress.com&amp;blog=9940550&amp;post=12&amp;subd=qweexz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://qweexz.wordpress.com/2009/10/30/tutorial-4-hello-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a33d7d8adc6cb213937131bc67587b33?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">qweexz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
