You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2014/08/23 05:25:53 UTC
[17/51] [partial] Merged TourDeFlex release from develop
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"><?xml version="1.0" encoding="utf-8"?></span>
+<span class="MXMLComponent_Tag"><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">></span>
+
+ <span class="MXMLSpecial_Tag"><fx:Script></span>
+ <![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">></span>
+ <span class="MXMLSpecial_Tag"></fx:Script></span>
+
+ <span class="MXMLComponent_Tag"><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">></span>
+ <span class="MXMLComponent_Tag"><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">></span>
+ <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Server:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Port #:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"></s:HGroup></span>
+
+ <span class="MXMLComponent_Tag"><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">></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><s:HGroup></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"></s:HGroup></span>
+ <span class="MXMLComponent_Tag"></s:VGroup></span>
+
+ <span class="MXMLComponent_Tag"><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">/></span>
+
+ <span class="MXMLComponent_Tag"><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">></span>
+ <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Console:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"></s:VGroup></span>
+ <span class="MXMLComponent_Tag"></s:VGroup></span>
+
+<span class="MXMLComponent_Tag"></s:WindowedApplication></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"><?xml version="1.0" encoding="utf-8"?></span>
+<span class="MXMLComponent_Tag"><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">></span>
+
+ <span class="MXMLSpecial_Tag"><fx:Script></span>
+ <![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">></span>
+ <span class="MXMLSpecial_Tag"></fx:Script></span>
+
+ <span class="MXMLComponent_Tag"><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">></span>
+ <span class="MXMLComponent_Tag"><s:HGroup</span><span class="MXMLDefault_Text"> verticalAlign="</span><span class="MXMLString">middle</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">></span>
+ <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Port:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"></s:HGroup></span>
+
+ <span class="MXMLComponent_Tag"><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">/></span>
+ <span class="MXMLComponent_Tag"></s:VGroup></span>
+
+<span class="MXMLComponent_Tag"></s:WindowedApplication></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>