http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClient.as.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClient.as.html 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClient.as.html
new file mode 100644
index 0000000..fa93516
--- /dev/null
+++ b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClient.as.html
@@ -0,0 +1,140 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>SocketClient.as</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="ActionScriptpackage">package</span> <span 
class="ActionScriptBracket/Brace">{</span>
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ErrorEvent</span>;
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Event</span>;
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">IOErrorEvent</span>;
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ProgressEvent</span>;
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">net</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Socket</span>;
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">utils</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ByteArray</span>;
+    
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">controls</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Alert</span>;
+    
+    <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">spark</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">components</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">TextArea</span>;
+    
+    <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptclass">class</span> <span 
class="ActionScriptDefault_Text">SocketClient</span>
+    <span class="ActionScriptBracket/Brace">{</span>
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">serverURL</span>:<span 
class="ActionScriptDefault_Text">String</span>;
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">portNumber</span>:<span 
class="ActionScriptDefault_Text">int</span>;
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">socket</span>:<span 
class="ActionScriptDefault_Text">Socket</span>;
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">ta</span>:<span 
class="ActionScriptDefault_Text">TextArea</span>;
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">state</span>:<span 
class="ActionScriptDefault_Text">int</span> <span 
class="ActionScriptOperator">=</span> 0;
+        
+
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">SocketClient</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">server</span>:<span 
class="ActionScriptDefault_Text">String</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">port</span>:<span 
class="ActionScriptDefault_Text">int</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">output</span>:<span 
class="ActionScriptDefault_Text">TextArea</span><span 
class="ActionScriptBracket/Brace">)</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">serverURL</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">server</span>;
+            <span class="ActionScriptDefault_Text">portNumber</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">port</span>;
+            <span class="ActionScriptDefault_Text">ta</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">output</span>;
+            
+            <span class="ActionScriptDefault_Text">socket</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">Socket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            
+            <span class="ActionScriptReserved">try</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Connecting to "</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">serverURL</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">":"</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">portNumber</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">"\n"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">connect</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">serverURL</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">portNumber</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">"\n"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">close</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">CONNECT</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">connectHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">CLOSE</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">closeHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ErrorEvent</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ERROR</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">errorHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">IOErrorEvent</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">IO_ERROR</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">ioErrorHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ProgressEvent</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">SOCKET_DATA</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">dataHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">closeSocket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptReserved">try</span> <span 
class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">flush</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">close</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">writeToSocket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ba</span>:<span 
class="ActionScriptDefault_Text">ByteArray</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptReserved">try</span> <span 
class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">writeBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ba</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">flush</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                
+            <span class="ActionScriptBracket/Brace">}</span>
+        <span class="ActionScriptBracket/Brace">}</span>
+    
+        <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">value</span>:<span 
class="ActionScriptDefault_Text">String</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">ta</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+=</span> <span 
class="ActionScriptDefault_Text">value</span><span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">"\n"</span>;
+            <span class="ActionScriptDefault_Text">setScroll</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">setScroll</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">ta</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">scrollToRange</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ta</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">y</span><span 
class="ActionScriptOperator">+</span>20<span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">connectHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Socket Connected"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">closeHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Socket Closed"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">errorHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">ErrorEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Error "</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">e</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">ioErrorHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">IOErrorEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"IO 
Error "</span> <span class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">e</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+</span> <span class="ActionScriptString">" check 
to make sure the socket server is running."</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+        
+        <span class="ActionScriptReserved">public</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">dataHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">ProgressEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+        <span class="ActionScriptBracket/Brace">{</span>
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Data Received - total bytes "</span> <span 
class="ActionScriptOperator">+</span><span 
class="ActionScriptDefault_Text">e</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">bytesTotal</span> <span 
class="ActionScriptOperator">+</span> <span class="ActionScriptString">" 
"</span><span class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">bytes</span>:<span 
class="ActionScriptDefault_Text">ByteArray</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">ByteArray</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">readBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptDefault_Text">msg</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Bytes received "</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScripttrace">trace</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptBracket/Brace">)</span>;
+        <span class="ActionScriptBracket/Brace">}</span>
+    <span class="ActionScriptBracket/Brace">}</span>
+<span class="ActionScriptBracket/Brace">}</span>
+</pre></body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClientSample.mxml.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClientSample.mxml.html
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClientSample.mxml.html
new file mode 100644
index 0000000..b1c6efd
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketClientSample.mxml.html
@@ -0,0 +1,95 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>SocketClientSample.mxml</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" 
encoding="utf-8"?&gt;</span>
+<span class="MXMLComponent_Tag">&lt;s:WindowedApplication</span><span 
class="MXMLDefault_Text"> xmlns:fx="</span><span 
class="MXMLString">http://ns.adobe.com/mxml/2009</span><span 
class="MXMLDefault_Text">" 
+                       xmlns:s="</span><span 
class="MXMLString">library://ns.adobe.com/flex/spark</span><span 
class="MXMLDefault_Text">" 
+                       xmlns:mx="</span><span 
class="MXMLString">library://ns.adobe.com/flex/mx</span><span 
class="MXMLDefault_Text">" 
+                       styleName="</span><span 
class="MXMLString">plain</span><span class="MXMLDefault_Text">" 
width="</span><span class="MXMLString">100%</span><span 
class="MXMLDefault_Text">" height="</span><span 
class="MXMLString">100%</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
+        &lt;![CDATA[
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">utils</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ByteArray</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">controls</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Alert</span>;
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">client</span>:<span 
class="ActionScriptDefault_Text">SocketClient</span>; <span 
class="ActionScriptComment">// source code included in SocketClient.as
+</span>            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">connect</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">client</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">SocketClient</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">server</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">int</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">port</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">log</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">sendBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">bytes</span>:<span 
class="ActionScriptDefault_Text">ByteArray</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">ByteArray</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">writeUTFBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">command</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">"\n"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptReserved">if</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">client</span> <span 
class="ActionScriptOperator">!=</span> <span 
class="ActionScriptReserved">null</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScripttrace">trace</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Writing to socket"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span class="ActionScriptDefault_Text">client</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">writeToSocket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+                <span class="ActionScriptReserved">else</span>
+                <span class="ActionScriptBracket/Brace">{</span>    
+                    <span class="ActionScriptDefault_Text">connect</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span 
class="ActionScriptDefault_Text">sendBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+                <span class="ActionScriptDefault_Text">command</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptString">""</span>;
+                
+            <span class="ActionScriptBracket/Brace">}</span>
+        <span class="ActionScriptBracket/Brace">]</span><span 
class="ActionScriptBracket/Brace">]</span><span 
class="ActionScriptOperator">&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
+    
+    <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span 
class="MXMLDefault_Text"> paddingLeft="</span><span 
class="MXMLString">6</span><span class="MXMLDefault_Text">" 
paddingTop="</span><span class="MXMLString">6</span><span 
class="MXMLDefault_Text">" paddingBottom="</span><span 
class="MXMLString">6</span><span class="MXMLDefault_Text">" 
paddingRight="</span><span class="MXMLString">6</span><span 
class="MXMLDefault_Text">" width="</span><span 
class="MXMLString">100%</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:HGroup</span><span 
class="MXMLDefault_Text"> left="</span><span class="MXMLString">8</span><span 
class="MXMLDefault_Text">" top="</span><span class="MXMLString">5</span><span 
class="MXMLDefault_Text">" verticalAlign="</span><span 
class="MXMLString">middle</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> text="</span><span 
class="MXMLString">Server:</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:TextInput</span><span 
class="MXMLDefault_Text"> id="</span><span 
class="MXMLString">server</span><span class="MXMLDefault_Text">" 
text="</span><span class="MXMLString">localhost</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> text="</span><span class="MXMLString">Port 
#:</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:TextInput</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">port</span><span 
class="MXMLDefault_Text">" text="</span><span 
class="MXMLString">1235</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Button</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">go</span><span 
class="MXMLDefault_Text">" label="</span><span 
class="MXMLString">Connect</span><span class="MXMLDefault_Text">" 
click="</span><span class="ActionScriptDefault_Text">connect</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>   
 
+            <span class="MXMLComponent_Tag">&lt;s:Button</span><span 
class="MXMLDefault_Text"> id="</span><span 
class="MXMLString">closeSocket</span><span class="MXMLDefault_Text">" 
label="</span><span class="MXMLString">Disconnect</span><span 
class="MXMLDefault_Text">" click="</span><span 
class="ActionScriptDefault_Text">client</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">closeSocket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;/s:HGroup&gt;</span>
+        
+        <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span 
class="MXMLDefault_Text"> left="</span><span class="MXMLString">8</span><span 
class="MXMLDefault_Text">" top="</span><span class="MXMLString">40</span><span 
class="MXMLDefault_Text">"  horizontalAlign="</span><span 
class="MXMLString">left</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> text="</span><span class="MXMLString">Enter text to 
send to the socket server and press send:</span><span 
class="MXMLDefault_Text">" fontSize="</span><span 
class="MXMLString">12</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:HGroup&gt;</span>
+                <span class="MXMLComponent_Tag">&lt;s:TextInput</span><span 
class="MXMLDefault_Text"> id="</span><span 
class="MXMLString">command</span><span class="MXMLDefault_Text">" 
width="</span><span class="MXMLString">300</span><span 
class="MXMLDefault_Text">" enter="</span><span 
class="ActionScriptDefault_Text">sendBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+                <span class="MXMLComponent_Tag">&lt;s:Button</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">send</span><span 
class="MXMLDefault_Text">" label="</span><span 
class="MXMLString">Send</span><span class="MXMLDefault_Text">" 
click="</span><span class="ActionScriptDefault_Text">sendBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>   
 
+            <span class="MXMLComponent_Tag">&lt;/s:HGroup&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+        
+        <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> width="</span><span 
class="MXMLString">100%</span><span class="MXMLDefault_Text">" 
verticalAlign="</span><span class="MXMLString">justify</span><span 
class="MXMLDefault_Text">" color="</span><span 
class="MXMLString">#323232</span><span class="MXMLDefault_Text">" 
bottom="</span><span class="MXMLString">9</span><span 
class="MXMLDefault_Text">" horizontalCenter="</span><span 
class="MXMLString">0</span><span class="MXMLDefault_Text">"
+                 text="</span><span class="MXMLString">The ServerSocket class 
allows code to act as a server for Transport Control Protocol (TCP) 
connections. A TCP server
+listens for incoming connections from remote clients. When a client attempts 
to connect, the ServerSocket dispatches a connect event. Run
+the SocketServerSample application first and click 'Listen' to start listening 
on the server and port information above. When data is sent 
+from the client it will show up in the log running the socket server 
app.</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+        
+        <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span 
class="MXMLDefault_Text"> top="</span><span class="MXMLString">88</span><span 
class="MXMLDefault_Text">" left="</span><span class="MXMLString">8</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> text="</span><span 
class="MXMLString">Console:</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:TextArea</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">log</span><span 
class="MXMLDefault_Text">" width="</span><span 
class="MXMLString">600</span><span class="MXMLDefault_Text">" 
height="</span><span class="MXMLString">70</span><span 
class="MXMLDefault_Text">" editable="</span><span 
class="MXMLString">false</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+    <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+
+<span 
class="MXMLComponent_Tag">&lt;/s:WindowedApplication&gt;</span></pre></body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketServerSample.mxml.html
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketServerSample.mxml.html
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketServerSample.mxml.html
new file mode 100644
index 0000000..c7eed0f
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/SocketServerSample.mxml.html
@@ -0,0 +1,116 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- saved from url=(0014)about:internet -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>SocketServerSample.mxml</title>
+<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
+</head>
+
+<body><pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" 
encoding="utf-8"?&gt;</span>
+<span class="MXMLComponent_Tag">&lt;s:WindowedApplication</span><span 
class="MXMLDefault_Text"> xmlns:fx="</span><span 
class="MXMLString">http://ns.adobe.com/mxml/2009</span><span 
class="MXMLDefault_Text">"
+                       xmlns:s="</span><span 
class="MXMLString">library://ns.adobe.com/flex/spark</span><span 
class="MXMLDefault_Text">"
+                       xmlns:mx="</span><span 
class="MXMLString">library://ns.adobe.com/flex/mx</span><span 
class="MXMLDefault_Text">"
+                       styleName="</span><span 
class="MXMLString">plain</span><span class="MXMLDefault_Text">" 
width="</span><span class="MXMLString">100%</span><span 
class="MXMLDefault_Text">" height="</span><span 
class="MXMLString">100%</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+    
+    <span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
+        &lt;![CDATA[
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Event</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">MouseEvent</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ProgressEvent</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">events</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ServerSocketConnectEvent</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">net</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ServerSocket</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">net</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Socket</span>;
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">flash</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">utils</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">ByteArray</span>;
+            
+            <span class="ActionScriptReserved">import</span> <span 
class="ActionScriptDefault_Text">mx</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">controls</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">Alert</span>;
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">serverSocket</span>:<span 
class="ActionScriptDefault_Text">ServerSocket</span>;
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">listen</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptReserved">try</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScriptDefault_Text">serverSocket</span> 
<span class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">ServerSocket</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span 
class="ActionScriptDefault_Text">serverSocket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">CONNECT</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">socketConnectHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span 
class="ActionScriptDefault_Text">serverSocket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">CLOSE</span><span 
class="ActionScriptOperator">,</span><span 
class="ActionScriptDefault_Text">socketCloseHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span 
class="ActionScriptDefault_Text">serverSocket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">bind</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">Number</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">port</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span 
class="ActionScriptDefault_Text">serverSocket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">listen</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span class="ActionScriptDefault_Text">log</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+=</span> <span 
class="ActionScriptString">"Listening on port "</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">port</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptString">"...\n"</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+                <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScriptDefault_Text">Alert</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">show</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptString">"Port "</span> <span 
class="ActionScriptOperator">+</span> <span 
class="ActionScriptDefault_Text">port</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+</span> <span class="ActionScriptString">" may be 
in use. Enter another port number and try again.\n("</span> <span 
class="ActionScriptOperator">+</span>
+                        <span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span> <span 
class="ActionScriptOperator">+</span><span 
class="ActionScriptString">")"</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptString">"Error"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">socketConnectHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">event</span>:<span 
class="ActionScriptDefault_Text">ServerSocketConnectEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">socket</span>:<span 
class="ActionScriptDefault_Text">Socket</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">socket</span>;
+                <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">addEventListener</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">ProgressEvent</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">SOCKET_DATA</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptDefault_Text">socketDataHandler</span><span 
class="ActionScriptBracket/Brace">)</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">private</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">socketDataHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">event</span>:<span 
class="ActionScriptDefault_Text">ProgressEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptReserved">try</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">socket</span>:<span 
class="ActionScriptDefault_Text">Socket</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptDefault_Text">event</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">target</span> <span 
class="ActionScriptReserved">as</span> <span 
class="ActionScriptDefault_Text">Socket</span>;
+                    <span class="ActionScriptvar">var</span> <span 
class="ActionScriptDefault_Text">bytes</span>:<span 
class="ActionScriptDefault_Text">ByteArray</span> <span 
class="ActionScriptOperator">=</span> <span 
class="ActionScriptReserved">new</span> <span 
class="ActionScriptDefault_Text">ByteArray</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">readBytes</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">bytes</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                    <span class="ActionScriptDefault_Text">log</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+=</span> <span 
class="ActionScriptString">""</span><span 
class="ActionScriptOperator">+</span><span 
class="ActionScriptDefault_Text">bytes</span>;
+                    <span class="ActionScriptDefault_Text">socket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">flush</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+                <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScriptDefault_Text">Alert</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">show</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span><span 
class="ActionScriptOperator">,</span> <span 
class="ActionScriptString">"Error"</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptBracket/Brace">}</span>
+            
+            <span class="ActionScriptReserved">protected</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">buttonClose_clickHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">event</span>:<span 
class="ActionScriptDefault_Text">MouseEvent</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptReserved">try</span> <span 
class="ActionScriptBracket/Brace">{</span>
+                    <span 
class="ActionScriptDefault_Text">serverSocket</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">close</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+                <span class="ActionScriptReserved">catch</span> <span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span>:<span 
class="ActionScriptDefault_Text">Error</span><span 
class="ActionScriptBracket/Brace">)</span>
+                <span class="ActionScriptBracket/Brace">{</span>
+                    <span class="ActionScriptDefault_Text">Alert</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">show</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">error</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">message</span><span 
class="ActionScriptOperator">,</span> <span class="ActionScriptString">"Error 
on close"</span><span class="ActionScriptBracket/Brace">)</span>;
+                <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptBracket/Brace">}</span>
+            <span class="ActionScriptReserved">protected</span> <span 
class="ActionScriptfunction">function</span> <span 
class="ActionScriptDefault_Text">socketCloseHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">e</span>:<span 
class="ActionScriptDefault_Text">Event</span><span 
class="ActionScriptBracket/Brace">)</span>:<span 
class="ActionScriptReserved">void</span>
+            <span class="ActionScriptBracket/Brace">{</span>
+                <span class="ActionScriptDefault_Text">log</span><span 
class="ActionScriptOperator">.</span><span 
class="ActionScriptDefault_Text">text</span> <span 
class="ActionScriptOperator">+=</span> <span class="ActionScriptString">"Socket 
Closed"</span>;
+            <span class="ActionScriptBracket/Brace">}</span>
+
+        <span class="ActionScriptBracket/Brace">]</span><span 
class="ActionScriptBracket/Brace">]</span><span 
class="ActionScriptOperator">&gt;</span>
+    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
+    
+    <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span 
class="MXMLDefault_Text"> paddingTop="</span><span 
class="MXMLString">8</span><span class="MXMLDefault_Text">" 
paddingLeft="</span><span class="MXMLString">8</span><span 
class="MXMLDefault_Text">" paddingRight="</span><span 
class="MXMLString">8</span><span class="MXMLDefault_Text">" 
paddingBottom="</span><span class="MXMLString">8</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;s:HGroup</span><span 
class="MXMLDefault_Text"> verticalAlign="</span><span 
class="MXMLString">middle</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Label</span><span 
class="MXMLDefault_Text"> text="</span><span 
class="MXMLString">Port:</span><span class="MXMLDefault_Text">"</span><span 
class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:TextInput</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">port</span><span 
class="MXMLDefault_Text">" text="</span><span 
class="MXMLString">8888</span><span class="MXMLDefault_Text">" 
width="</span><span class="MXMLString">50</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Button</span><span 
class="MXMLDefault_Text"> label="</span><span 
class="MXMLString">Listen</span><span class="MXMLDefault_Text">" 
click="</span><span class="ActionScriptDefault_Text">listen</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+            <span class="MXMLComponent_Tag">&lt;s:Button</span><span 
class="MXMLDefault_Text"> label="</span><span class="MXMLString">Close 
Socket</span><span class="MXMLDefault_Text">" click="</span><span 
class="ActionScriptDefault_Text">buttonClose_clickHandler</span><span 
class="ActionScriptBracket/Brace">(</span><span 
class="ActionScriptDefault_Text">event</span><span 
class="ActionScriptBracket/Brace">)</span><span 
class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
+        <span class="MXMLComponent_Tag">&lt;/s:HGroup&gt;</span>
+        
+        <span class="MXMLComponent_Tag">&lt;s:TextArea</span><span 
class="MXMLDefault_Text"> id="</span><span class="MXMLString">log</span><span 
class="MXMLDefault_Text">" width="</span><span 
class="MXMLString">100%</span><span class="MXMLDefault_Text">" 
height="</span><span class="MXMLString">100%</span><span 
class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
+    <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
+    
+<span 
class="MXMLComponent_Tag">&lt;/s:WindowedApplication&gt;</span></pre></body>
+</html>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClient.as
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClient.as
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClient.as
new file mode 100644
index 0000000..4c343b6
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClient.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package {
+       import flash.events.ErrorEvent;
+       import flash.events.Event;
+       import flash.events.IOErrorEvent;
+       import flash.events.ProgressEvent;
+       import flash.net.Socket;
+       import flash.utils.ByteArray;
+       
+       import mx.controls.Alert;
+       
+       import spark.components.TextArea;
+       
+       public class SocketClient
+       {
+               private var serverURL:String;
+               private var portNumber:int;
+               private var socket:Socket;
+               private var ta:TextArea;
+               private var state:int = 0;
+               
+
+               public function SocketClient(server:String, port:int, 
output:TextArea)
+               {
+                       serverURL = server;
+                       portNumber = port;
+                       ta = output;
+                       
+                       socket = new Socket();
+                       
+                       try
+                       {
+                               msg("Connecting to " + serverURL + ":" + 
portNumber + "\n");
+                               socket.connect(serverURL, portNumber);
+                       }
+                       catch (error:Error)
+                       {
+                               msg(error.message + "\n");
+                               socket.close();
+                       }
+                       socket.addEventListener(Event.CONNECT, connectHandler);
+                       socket.addEventListener(Event.CLOSE, closeHandler);
+                       socket.addEventListener(ErrorEvent.ERROR, errorHandler);
+                       socket.addEventListener(IOErrorEvent.IO_ERROR, 
ioErrorHandler);
+                       socket.addEventListener(ProgressEvent.SOCKET_DATA, 
dataHandler);
+                       
+               }
+               
+               public function closeSocket():void
+               {
+                       try {
+                               socket.flush();
+                               socket.close();
+                       }
+                       catch (error:Error)
+                       {
+                               msg(error.message);
+                       }
+               }
+               
+               public function writeToSocket(ba:ByteArray):void
+               {
+                       try {
+                               socket.writeBytes(ba);
+                               socket.flush();
+                       }
+                       catch (error:Error)
+                       {
+                               msg(error.message);
+                               
+                       }
+               }
+       
+               private function msg(value:String):void
+               {
+                       ta.text += value+ "\n";
+                       setScroll();
+               }
+               
+               public function setScroll():void
+               {
+                       ta.scrollToRange(ta.y+20);
+               }
+               
+               public function connectHandler(e:Event):void
+               {
+                       msg("Socket Connected");
+               }
+               
+               public function closeHandler(e:Event):void
+               {
+                       msg("Socket Closed");
+               }
+               
+               public function errorHandler(e:ErrorEvent):void
+               {
+                       msg("Error " + e.text);
+               }
+               
+               public function ioErrorHandler(e:IOErrorEvent):void
+               {
+                       msg("IO Error " + e.text + " check to make sure the 
socket server is running.");
+               }
+               
+               public function dataHandler(e:ProgressEvent):void
+               {
+                       msg("Data Received - total bytes " +e.bytesTotal + " ");
+                       var bytes:ByteArray = new ByteArray();
+                       socket.readBytes(bytes);
+                       msg("Bytes received " + bytes);
+                       trace(bytes);
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample-app.xml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample-app.xml
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample-app.xml
new file mode 100755
index 0000000..8f46d6f
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample-app.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<application xmlns="http://ns.adobe.com/air/application/2.0";>
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+       Specifies parameters for identifying, installing, and launching AIR 
applications.
+
+       xmlns - The Adobe AIR namespace: 
http://ns.adobe.com/air/application/2.0beta2
+                       The last segment of the namespace specifies the version 
+                       of the AIR runtime required for this application to run.
+                       
+       minimumPatchLevel - The minimum patch level of the AIR runtime required 
to run 
+                       the application. Optional.
+-->
+
+       <!-- The application identifier string, unique to this application. 
Required. -->
+       <id>SocketClientSample</id>
+
+       <!-- Used as the filename for the application. Required. -->
+       <filename>SocketClientSample</filename>
+
+       <!-- The name that is displayed in the AIR application installer. 
+            May have multiple values for each language. See samples or xsd 
schema file. Optional. -->
+       <name>SocketClientSample</name>
+
+       <!-- An application version designator (such as "v1", "2.5", or "Alpha 
1"). Required. -->
+       <version>v1</version>
+
+       <!-- Description, displayed in the AIR application installer.
+            May have multiple values for each language. See samples or xsd 
schema file. Optional. -->
+       <!-- <description></description> -->
+
+       <!-- Copyright information. Optional -->
+       <!-- <copyright></copyright> -->
+
+       <!-- Publisher ID. Used if you're updating an application created prior 
to 1.5.3 -->
+       <!-- <publisherID></publisherID> -->
+
+       <!-- Settings for the application's initial window. Required. -->
+       <initialWindow>
+               <!-- The main SWF or HTML file of the application. Required. -->
+               <!-- Note: In Flash Builder, the SWF reference is set 
automatically. -->
+               <content>[This value will be overwritten by Flash Builder in 
the output app.xml]</content>
+               
+               <!-- The title of the main window. Optional. -->
+               <!-- <title></title> -->
+
+               <!-- The type of system chrome to use (either "standard" or 
"none"). Optional. Default standard. -->
+               <!-- <systemChrome></systemChrome> -->
+
+               <!-- Whether the window is transparent. Only applicable when 
systemChrome is none. Optional. Default false. -->
+               <!-- <transparent></transparent> -->
+
+               <!-- Whether the window is initially visible. Optional. Default 
false. -->
+               <!-- <visible></visible> -->
+
+               <!-- Whether the user can minimize the window. Optional. 
Default true. -->
+               <!-- <minimizable></minimizable> -->
+
+               <!-- Whether the user can maximize the window. Optional. 
Default true. -->
+               <!-- <maximizable></maximizable> -->
+
+               <!-- Whether the user can resize the window. Optional. Default 
true. -->
+               <!-- <resizable></resizable> -->
+
+               <!-- The window's initial width in pixels. Optional. -->
+               <!-- <width></width> -->
+
+               <!-- The window's initial height in pixels. Optional. -->
+               <!-- <height></height> -->
+
+               <!-- The window's initial x position. Optional. -->
+               <!-- <x></x> -->
+
+               <!-- The window's initial y position. Optional. -->
+               <!-- <y></y> -->
+
+               <!-- The window's minimum size, specified as a width/height 
pair in pixels, such as "400 200". Optional. -->
+               <!-- <minSize></minSize> -->
+
+               <!-- The window's initial maximum size, specified as a 
width/height pair in pixels, such as "1600 1200". Optional. -->
+               <!-- <maxSize></maxSize> -->
+       </initialWindow>
+
+       <!-- The subpath of the standard default installation location to use. 
Optional. -->
+       <!-- <installFolder></installFolder> -->
+
+       <!-- The subpath of the Programs menu to use. (Ignored on operating 
systems without a Programs menu.) Optional. -->
+       <!-- <programMenuFolder></programMenuFolder> -->
+
+       <!-- The icon the system uses for the application. For at least one 
resolution,
+                specify the path to a PNG file included in the AIR package. 
Optional. -->
+       <!-- <icon>
+               <image16x16></image16x16>
+               <image32x32></image32x32>
+               <image48x48></image48x48>
+               <image128x128></image128x128>
+       </icon> -->
+
+       <!-- Whether the application handles the update when a user 
double-clicks an update version
+       of the AIR file (true), or the default AIR application installer 
handles the update (false).
+       Optional. Default false. -->
+       <!-- <customUpdateUI></customUpdateUI> -->
+       
+       <!-- Whether the application can be launched when the user clicks a 
link in a web browser.
+       Optional. Default false. -->
+       <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+       <!-- Listing of file types for which the application can register. 
Optional. -->
+       <!-- <fileTypes> -->
+
+               <!-- Defines one file type. Optional. -->
+               <!-- <fileType> -->
+
+                       <!-- The name that the system displays for the 
registered file type. Required. -->
+                       <!-- <name></name> -->
+
+                       <!-- The extension to register. Required. -->
+                       <!-- <extension></extension> -->
+                       
+                       <!-- The description of the file type. Optional. -->
+                       <!-- <description></description> -->
+                       
+                       <!-- The MIME content type. -->
+                       <!-- <contentType></contentType> -->
+                       
+                       <!-- The icon to display for the file type. Optional. 
-->
+                       <!-- <icon>
+                               <image16x16></image16x16>
+                               <image32x32></image32x32>
+                               <image48x48></image48x48>
+                               <image128x128></image128x128>
+                       </icon> -->
+                       
+               <!-- </fileType> -->
+       <!-- </fileTypes> -->
+
+</application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample.mxml
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample.mxml
new file mode 100644
index 0000000..7f35bc5
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketClientSample.mxml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                                          
xmlns:s="library://ns.adobe.com/flex/spark" 
+                                          
xmlns:mx="library://ns.adobe.com/flex/mx" 
+                                          styleName="plain" width="100%" 
height="100%">
+       
+       <fx:Script>
+               <![CDATA[
+                       import flash.utils.ByteArray;
+                       import mx.controls.Alert;
+                       
+                       private var client:SocketClient; // source code 
included in SocketClient.as
+                       
+                       private function connect():void
+                       {
+                               client = new SocketClient(server.text, 
int(port.text), log);
+                       }
+                       
+                       private function sendBytes():void
+                       {
+                               var bytes:ByteArray = new ByteArray();
+                               bytes.writeUTFBytes(command.text + "\n");
+                               if (client != null)
+                               {
+                                       trace("Writing to socket");
+                                       client.writeToSocket(bytes);
+                               }
+                               else
+                               {       
+                                       
+                                       connect();
+                                       sendBytes();
+                               }
+                               command.text = "";
+                               
+                       }
+               ]]>
+       </fx:Script>
+       
+       <s:VGroup paddingLeft="6" paddingTop="6" paddingBottom="6" 
paddingRight="6">
+               <s:HGroup left="8" top="5" verticalAlign="middle">
+                       <s:Label text="Server:"/>
+                       <s:TextInput id="server" text="localhost"/>
+                       <s:Label text="Port #:"/>
+                       <s:TextInput id="port" text="1235"/>
+                       <s:Button id="go" label="Connect" click="connect()"/>   
+                       <s:Button id="closeSocket" label="Disconnect" 
click="client.closeSocket()"/>
+               </s:HGroup>
+               
+               <s:VGroup left="8" top="40" >
+                       <s:Label text="Enter text to send to the socket server 
and press send:" fontSize="12"/>
+                       <s:HGroup>
+                               <s:TextInput id="command" width="300" 
enter="sendBytes()"/>
+                               <s:Button id="send" label="Send" 
click="sendBytes()"/>  
+                       </s:HGroup>
+               </s:VGroup>
+               
+               <s:Label width="500" verticalAlign="justify" color="#323232" 
bottom="9" horizontalCenter="0"
+                                text="The ServerSocket class allows code to 
act as a server for Transport Control Protocol (TCP) connections. A TCP server
+listens for incoming connections from remote clients. When a client attempts 
to connect, the ServerSocket dispatches a connect event. Run
+the SocketServerSample application first and click 'Listen' to start listening 
on the server and port information above. When data is sent 
+from the client it will show up in the log running the socket server app."/>
+               
+               <s:VGroup top="88" left="8">
+                       <s:Label text="Console:"/>
+                       <s:TextArea id="log" width="500" height="100" 
editable="false"/>
+               </s:VGroup>
+       </s:VGroup>
+       
+       
+
+</mx:Module>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample-app.xml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample-app.xml
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample-app.xml
new file mode 100755
index 0000000..1767950
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample-app.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<application xmlns="http://ns.adobe.com/air/application/2.0";>
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+       Specifies parameters for identifying, installing, and launching AIR 
applications.
+
+       xmlns - The Adobe AIR namespace: 
http://ns.adobe.com/air/application/2.0beta
+                       The last segment of the namespace specifies the version 
+                       of the AIR runtime required for this application to run.
+                       
+       minimumPatchLevel - The minimum patch level of the AIR runtime required 
to run 
+                       the application. Optional.
+-->
+
+       <!-- The application identifier string, unique to this application. 
Required. -->
+       <id>SocketServerSample</id>
+
+       <!-- Used as the filename for the application. Required. -->
+       <filename>SocketServerSample</filename>
+
+       <!-- The name that is displayed in the AIR application installer. 
+            May have multiple values for each language. See samples or xsd 
schema file. Optional. -->
+       <name>SocketServerSample</name>
+
+       <!-- An application version designator (such as "v1", "2.5", or "Alpha 
1"). Required. -->
+       <version>v1</version>
+
+       <!-- Description, displayed in the AIR application installer.
+            May have multiple values for each language. See samples or xsd 
schema file. Optional. -->
+       <!-- <description></description> -->
+
+       <!-- Copyright information. Optional -->
+       <!-- <copyright></copyright> -->
+
+       <!-- Settings for the application's initial window. Required. -->
+       <initialWindow>
+               <!-- The main SWF or HTML file of the application. Required. -->
+               <!-- Note: In Flash Builder, the SWF reference is set 
automatically. -->
+               <content>[This value will be overwritten by Flash Builder in 
the output app.xml]</content>
+               
+               <!-- The title of the main window. Optional. -->
+               <!-- <title></title> -->
+
+               <!-- The type of system chrome to use (either "standard" or 
"none"). Optional. Default standard. -->
+               <!-- <systemChrome></systemChrome> -->
+
+               <!-- Whether the window is transparent. Only applicable when 
systemChrome is none. Optional. Default false. -->
+               <!-- <transparent></transparent> -->
+
+               <!-- Whether the window is initially visible. Optional. Default 
false. -->
+               <!-- <visible></visible> -->
+
+               <!-- Whether the user can minimize the window. Optional. 
Default true. -->
+               <!-- <minimizable></minimizable> -->
+
+               <!-- Whether the user can maximize the window. Optional. 
Default true. -->
+               <!-- <maximizable></maximizable> -->
+
+               <!-- Whether the user can resize the window. Optional. Default 
true. -->
+               <!-- <resizable></resizable> -->
+
+               <!-- The window's initial width in pixels. Optional. -->
+               <!-- <width></width> -->
+
+               <!-- The window's initial height in pixels. Optional. -->
+               <!-- <height></height> -->
+
+               <!-- The window's initial x position. Optional. -->
+               <!-- <x></x> -->
+
+               <!-- The window's initial y position. Optional. -->
+               <!-- <y></y> -->
+
+               <!-- The window's minimum size, specified as a width/height 
pair in pixels, such as "400 200". Optional. -->
+               <!-- <minSize></minSize> -->
+
+               <!-- The window's initial maximum size, specified as a 
width/height pair in pixels, such as "1600 1200". Optional. -->
+               <!-- <maxSize></maxSize> -->
+       </initialWindow>
+
+       <!-- The subpath of the standard default installation location to use. 
Optional. -->
+       <!-- <installFolder></installFolder> -->
+
+       <!-- The subpath of the Programs menu to use. (Ignored on operating 
systems without a Programs menu.) Optional. -->
+       <!-- <programMenuFolder></programMenuFolder> -->
+
+       <!-- The icon the system uses for the application. For at least one 
resolution,
+                specify the path to a PNG file included in the AIR package. 
Optional. -->
+       <!-- <icon>
+               <image16x16></image16x16>
+               <image32x32></image32x32>
+               <image48x48></image48x48>
+               <image128x128></image128x128>
+       </icon> -->
+
+       <!-- Whether the application handles the update when a user 
double-clicks an update version
+       of the AIR file (true), or the default AIR application installer 
handles the update (false).
+       Optional. Default false. -->
+       <!-- <customUpdateUI></customUpdateUI> -->
+       
+       <!-- Whether the application can be launched when the user clicks a 
link in a web browser.
+       Optional. Default false. -->
+       <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+       <!-- Listing of file types for which the application can register. 
Optional. -->
+       <!-- <fileTypes> -->
+
+               <!-- Defines one file type. Optional. -->
+               <!-- <fileType> -->
+
+                       <!-- The name that the system displays for the 
registered file type. Required. -->
+                       <!-- <name></name> -->
+
+                       <!-- The extension to register. Required. -->
+                       <!-- <extension></extension> -->
+                       
+                       <!-- The description of the file type. Optional. -->
+                       <!-- <description></description> -->
+                       
+                       <!-- The MIME content type. -->
+                       <!-- <contentType></contentType> -->
+                       
+                       <!-- The icon to display for the file type. Optional. 
-->
+                       <!-- <icon>
+                               <image16x16></image16x16>
+                               <image32x32></image32x32>
+                               <image48x48></image48x48>
+                               <image128x128></image128x128>
+                       </icon> -->
+                       
+               <!-- </fileType> -->
+       <!-- </fileTypes> -->
+
+</application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample.mxml
 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample.mxml
new file mode 100644
index 0000000..d9f24da
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/Sample-AIR2-SocketServer/src/SocketServerSample.mxml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009";
+                                          
xmlns:s="library://ns.adobe.com/flex/spark"
+                                          
xmlns:mx="library://ns.adobe.com/flex/mx"
+                                          width="100%" height="100%" 
styleName="plain">
+       
+       <fx:Script>
+               <![CDATA[
+                       import flash.events.Event;
+                       import flash.events.MouseEvent;
+                       import flash.events.ProgressEvent;
+                       import flash.events.ServerSocketConnectEvent;
+                       import flash.net.ServerSocket;
+                       import flash.net.Socket;
+                       import flash.utils.ByteArray;
+                       
+                       import mx.controls.Alert;
+                       
+                       private var serverSocket:ServerSocket;
+                       
+                       private function listen():void
+                       {
+                               try
+                               {
+                                       serverSocket = new ServerSocket();
+                                       
serverSocket.addEventListener(Event.CONNECT, socketConnectHandler);
+                                       
serverSocket.addEventListener(Event.CLOSE,socketCloseHandler);
+                                       serverSocket.bind(Number(port.text));
+                                       serverSocket.listen();                  
                
+                                       log.text += "Listening on port " + 
port.text + "...\n";
+                                       
+                               }
+                               catch (error:Error)
+                               {
+                                       Alert.show("Port " + port.text + " may 
be in use. Enter another port number and try again.\n(" +
+                                               error.message +")", "Error");
+                               }
+                       }
+                       
+                       private function 
socketConnectHandler(event:ServerSocketConnectEvent):void
+                       {
+                               var socket:Socket = event.socket;
+                               log.text += "Socket connection established on 
port " + port.text + "...\n";
+                               
socket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
+                       }
+                       
+                       private function 
socketDataHandler(event:ProgressEvent):void
+                       {
+                               try
+                               {
+                                       var socket:Socket = event.target as 
Socket;
+                                       var bytes:ByteArray = new ByteArray();
+                                       socket.readBytes(bytes);
+                                       log.text += ""+bytes;
+                                       socket.flush();
+                               }
+                               catch (error:Error)
+                               {
+                                       Alert.show(error.message, "Error");
+                               }
+                       }
+                       
+                       protected function 
buttonClose_clickHandler(event:MouseEvent):void
+                       {
+                               try {
+                                       serverSocket.close();
+                               }
+                               catch (error:Error)
+                               {
+                                       Alert.show(error.message, "Error on 
close");
+                               }
+                       }
+                       protected function socketCloseHandler(e:Event):void
+                       {
+                               log.text += "Socket Closed";
+                       }
+
+               ]]>
+       </fx:Script>
+       
+       <s:VGroup paddingTop="8" paddingLeft="8" paddingRight="8" 
paddingBottom="8">
+               <s:Label text="Start listening over a socket connection by 
clicking the listen button."/>
+               <s:HGroup verticalAlign="middle">
+                       <s:Label text="Port:"/>
+                       <s:TextInput id="port" text="1235" width="50"/>
+                       <s:Button label="Listen" click="listen()"/>
+                       <s:Button label="Close Socket" 
click="buttonClose_clickHandler(event)"/>
+               </s:HGroup>
+               
+               <s:TextArea id="log" width="100%" height="100%" />
+       </s:VGroup>
+       
+</mx:Module>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/e1f9d1df/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/SourceIndex.xml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/SourceIndex.xml 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/SourceIndex.xml
new file mode 100644
index 0000000..d132844
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex/src/objects/AIR20/SocketServer/srcview/SourceIndex.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<index>
+       <title>Source of Sample-AIR2-SocketServer</title>
+       <nodes>
+               <node label="libs">
+               </node>
+               <node label="src">
+                       <node icon="actionScriptIcon" label="SocketClient.as" 
url="source/SocketClient.as.html"/>
+                       <node label="SocketClientSample-app.xml" 
url="source/SocketClientSample-app.xml.txt"/>
+                       <node icon="mxmlIcon" label="SocketClientSample.mxml" 
url="source/SocketClientSample.mxml.html"/>
+                       <node label="SocketServerSample-app.xml" 
url="source/SocketServerSample-app.xml.txt"/>
+                       <node icon="mxmlAppIcon" selected="true" 
label="SocketServerSample.mxml" url="source/SocketServerSample.mxml.html"/>
+               </node>
+       </nodes>
+       <zipfile label="Download source (ZIP, 9K)" 
url="Sample-AIR2-SocketServer.zip">
+       </zipfile>
+       <sdklink label="Download Flex SDK" 
url="http://www.adobe.com/go/flex4_sdk_download";>
+       </sdklink>
+</index>

Reply via email to