<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
	<channel rdf:about="http://livedocs.adobe.com/">
	<title>LiveDocs Comments - flash - 9.0 - main - 00000318.html</title>	
		<link>http://livedocs.adobe.com/</link>
		<description>Macromedia LiveDocs - online documentation with user feedback.</description>
		<copyright>Copyright 2009, Macromedia, Inc.</copyright>
		<dc:date>2009-11-25T04:31:11</dc:date>
		<dc:language>en-us</dc:language>
		<items>
			<rdf:Seq>
				<rdf:li rdf:resource="http://livedocs.adobe.com/flash/9.0/main/00000318.html#80927" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/flash/9.0/main/00000318.html#72522" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/flash/9.0/main/00000318.html#71774" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/flash/9.0/main/00000318.html#68776" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/flash/9.0/main/00000318.html#68389" />
			</rdf:Seq>
		</items>
	</channel>
	
	<item rdf:about="http://livedocs.adobe.com/flash/9.0/main/00000318.html#80927">
		<title>flash/9.0/main/00000318.html</title>
		<link>http://livedocs.adobe.com/flash/9.0/main/00000318.html#80927</link>
		<description>Please can i have a good working example of AS3 XMLSocket class, on this page. which i can use.&lt;br /&gt;&lt;br /&gt;OR &lt;br /&gt;&lt;br /&gt;a solution to:&lt;br /&gt;&lt;br /&gt;I am having an error while compiling. &lt;br /&gt;&lt;br /&gt;TypeError: Error #1006: value is not a function.&lt;br /&gt;	at KPASA_Client1_fla::MainTimeline/connectHandler()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the code i m using is as follows:&lt;br /&gt;&lt;br /&gt;package {&lt;br /&gt;    import flash.display.Sprite;&lt;br /&gt;    import flash.events.*;&lt;br /&gt;    import flash.net.XMLSocket;&lt;br /&gt;&lt;br /&gt;    public class XMLSocketExample extends Sprite {&lt;br /&gt;        private var hostName:String = &quot;localhost&quot;;&lt;br /&gt;        private var port:uint = 8888;&lt;br /&gt;        private var socket:XMLSocket;&lt;br /&gt;&lt;br /&gt;        public function XMLSocketExample() {&lt;br /&gt;            socket = new XMLSocket();&lt;br /&gt;            configureListeners(socket);&lt;br /&gt;            socket.connect(hostName, port);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public function send(data:Object):void {&lt;br /&gt;            socket.send(data);	&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function configureListeners(dispatcher:IEventDispatcher):void {&lt;br /&gt;            dispatcher.addEventListener(Event.CLOSE, closeHandler);&lt;br /&gt;            dispatcher.addEventListener(Event.CONNECT, connectHandler);&lt;br /&gt;            dispatcher.addEventListener(DataEvent.DATA, dataHandler);&lt;br /&gt;            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);&lt;br /&gt;            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);&lt;br /&gt;            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function closeHandler(event:Event):void {&lt;br /&gt;            trace(&quot;closeHandler: &quot; + event);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function connectHandler(event:Event) {&lt;br /&gt;            //trace(&quot;connectHandler: &quot; + event);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function dataHandler(event:DataEvent):void {&lt;br /&gt;            trace(&quot;dataHandler: &quot; + event);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function ioErrorHandler(event:IOErrorEvent):void {&lt;br /&gt;            trace(&quot;ioErrorHandler: &quot; + event);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function progressHandler(event:ProgressEvent):void {&lt;br /&gt;            trace(&quot;progressHandler loaded:&quot; + event.bytesLoaded + &quot; total: &quot; + event.bytesTotal);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private function securityErrorHandler(event:SecurityErrorEvent):void {&lt;br /&gt;            trace(&quot;securityErrorHandler: &quot; + event);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}</description>
		<dc:creator>rpkhatri</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2008-02-20T10:22:00</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/flash/9.0/main/00000318.html#72522">
		<title>flash/9.0/main/00000318.html</title>
		<link>http://livedocs.adobe.com/flash/9.0/main/00000318.html#72522</link>
		<description>Apparently in the last comment the correct character was discarded. Use this line to get it working:&lt;br /&gt;&lt;br /&gt;printOut.println(str + (char)0);</description>
		<dc:creator>tnagel</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-08-23T03:21:20</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/flash/9.0/main/00000318.html#71774">
		<title>flash/9.0/main/00000318.html</title>
		<link>http://livedocs.adobe.com/flash/9.0/main/00000318.html#71774</link>
		<description>This line ...&lt;br /&gt;printOut.println(str + &quot;0000&quot;); // Sent to Socket&lt;br /&gt;&lt;br /&gt;needs to be changed to this line to get communication from the Java code to the AS to work.&lt;br /&gt;printOut.println(str + &quot;\0&quot;); // Sent to Socket</description>
		<dc:creator>Gooberholtzer</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-08-10T19:43:02</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/flash/9.0/main/00000318.html#68776">
		<title>flash/9.0/main/00000318.html</title>
		<link>http://livedocs.adobe.com/flash/9.0/main/00000318.html#68776</link>
		<description>Hi!&lt;br /&gt;Your code works in one direction only. I can send message from as to java, but not from java to as.. could u help me?</description>
		<dc:creator></dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-06-21T03:08:02</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/flash/9.0/main/00000318.html#68389">
		<title>flash/9.0/main/00000318.html</title>
		<link>http://livedocs.adobe.com/flash/9.0/main/00000318.html#68389</link>
		<description>regarding http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000318.html&lt;br /&gt;&lt;br /&gt;The Java sample code here seemed to have a lot (about 5) problems with it, so I spent the better part of my day fixing it. It now works great, and easier to understand for a novice. I have pasted it beolw:&lt;br /&gt;&lt;br /&gt;import java.io.*;&lt;br /&gt;import java.net.*;&lt;br /&gt;&lt;br /&gt;class SimpleServer&lt;br /&gt;{&lt;br /&gt;    private static SimpleServer server;&lt;br /&gt;    ServerSocket socket;&lt;br /&gt;    Socket incoming;&lt;br /&gt;    BufferedReader readerIn;&lt;br /&gt;    PrintStream printOut;&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args)&lt;br /&gt;    {&lt;br /&gt;        int port = 9001;&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            port = Integer.parseInt(args[0]);&lt;br /&gt;        }&lt;br /&gt;        catch (ArrayIndexOutOfBoundsException e)&lt;br /&gt;        {&lt;br /&gt;            // Catch exception and keep going.&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        server = new SimpleServer(port);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private SimpleServer(int port)&lt;br /&gt;    {&lt;br /&gt;        System.out.println(&quot;&gt;&gt; Starting SimpleServer2&quot;); // Sent to console&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            socket = new ServerSocket(port);&lt;br /&gt;            incoming = socket.accept(); // Waits here until connection is established&lt;br /&gt;            readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream()));&lt;br /&gt;            printOut = new PrintStream(incoming.getOutputStream());&lt;br /&gt;            out(&quot;Enter EXIT to exit.&quot;); // Sent to Socket AND console&lt;br /&gt;            boolean done = false;&lt;br /&gt;            while (!done)&lt;br /&gt;            {&lt;br /&gt;                String str = readerIn.readLine();&lt;br /&gt;                if (str == null)&lt;br /&gt;                {&lt;br /&gt;                    done = true;&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    str = str.trim();&lt;br /&gt;                    System.out.println(&quot;input: [&quot; + str + &quot;]\r&quot;); // Sent to console&lt;br /&gt;                    out(&quot;Echoing Back: &quot; + str); // Sent to Socket AND console&lt;br /&gt;                    if(str.trim().equals(&quot;EXIT&quot;))&lt;br /&gt;                    {&lt;br /&gt;                        done = true;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            incoming.close();&lt;br /&gt;        }&lt;br /&gt;        catch (Exception e)&lt;br /&gt;        {&lt;br /&gt;            System.out.println(&quot;End Exception: &quot; + e); // Sent to console&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void out(String str)&lt;br /&gt;    {&lt;br /&gt;        printOut.println(str + &quot;\u0000&quot;); // Sent to Socket&lt;br /&gt;        System.out.println(&quot;output: [&quot; + str + &quot;]&quot;); // Sent to console&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You may also want to mention to people that if they don't have a Java SDK installed, they can compile their .java file online at http://www.innovation.ch/java/java_compile.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are interested, I have also pasted below the AS2 code I used to make the corresponding flash app. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;createSocket ();&lt;br /&gt;&lt;br /&gt;function createSocket () {&lt;br /&gt;	&lt;br /&gt;	// Set up the GUI&lt;br /&gt;	_root.createTextField(&quot;inputlabel&quot;,4,20,20,50,20);&lt;br /&gt;	inputlabel.text = &quot;Input:&quot;;&lt;br /&gt;	_root.createTextField(&quot;outputlabel&quot;,5,20,50,50,20);&lt;br /&gt;	outputlabel.text = &quot;Output:&quot;;&lt;br /&gt;	_root.createTextField(&quot;tracelabel&quot;,6,20,80,50,20);&lt;br /&gt;	tracelabel.text = &quot;Tracer:&quot;;&lt;br /&gt;	_root.createTextField(&quot;inputer&quot;, 3,70,20,200,20);&lt;br /&gt;	_root.createTextField(&quot;outputer&quot;,2,70,50,200,20);&lt;br /&gt;	_root.createTextField(&quot;tracer&quot;,  7,100,80,400,300);&lt;br /&gt;	outputer.type = &quot;input&quot;;&lt;br /&gt;	outputer.border = true;&lt;br /&gt;	inputer.border = true;&lt;br /&gt;	tracer.border = true;&lt;br /&gt;	&lt;br /&gt;	// Set Up the Comms&lt;br /&gt;	serialServer = new XMLSocket ();&lt;br /&gt;	//trace (&quot;made it&quot; + serialServer);&lt;br /&gt;	tracer.text = tracer.text + &quot;made it&quot; + serialServer + newline;&lt;br /&gt;	//127.0.0.1 is the same as &quot;localhost&quot; ie an alias to your local machine&lt;br /&gt;	//it is concievable to that you would want to connect from another machine and you would change this&lt;br /&gt;	serialServer.connect (&quot;127.0.0.1&quot;, 9001);&lt;br /&gt;	serialServer.onConnect = function (success) {&lt;br /&gt;		//trace (&quot;connected &quot; + success);&lt;br /&gt;		tracer.text = tracer.text + &quot;connected &quot; + success + newline;&lt;br /&gt;		serialServer.send (&quot;HOWDY FROM FLASH &quot; + new Date().toString() + newline);&lt;br /&gt;	};&lt;br /&gt;	serialServer.onClose = function () {&lt;br /&gt;		//trace (&quot;closed&quot;);&lt;br /&gt;		tracer.text = tracer.text + &quot;closed&quot; + newline;&lt;br /&gt;	};&lt;br /&gt;	serialServer.onData = function (data) {&lt;br /&gt;		//trace (&quot;incoming: &quot; + data);&lt;br /&gt;		//tracer.text = tracer.text + &quot;[0]=&quot; + data.charCodeAt(0) + newline;&lt;br /&gt;		//tracer.text = tracer.text + &quot;[1]=&quot; + data.charCodeAt(1) + newline;&lt;br /&gt;		if (data.charCodeAt(0) == 13  &amp;&amp;  data.charCodeAt(1) == 10) {&lt;br /&gt;			data = data.slice( 2, data.length+1 );&lt;br /&gt;		}&lt;br /&gt;		tracer.text = tracer.text + &quot;incoming: &quot; + data + newline;&lt;br /&gt;		inputer.text = inputer.text + data;&lt;br /&gt;	};&lt;br /&gt;	/*&lt;br /&gt;	outputer.onChanged = function () {&lt;br /&gt;		serialServer.send (outputer.text + newline);&lt;br /&gt;		//trace (&quot;output: &quot; + outputer.text);&lt;br /&gt;		tracer.text = tracer.text + &quot;output: &quot; + outputer.text + newline;&lt;br /&gt;		outputer.text = &quot;&quot;;&lt;br /&gt;	};&lt;br /&gt;	*/&lt;br /&gt;	var keyListener:Object = new Object();&lt;br /&gt;	keyListener.onKeyDown = function() {&lt;br /&gt;		//trace(&quot;For the last key typed, Key code is: &quot; + Key.getCode() + &quot;,ASCII value is: &quot; + Key.getAscii() + newline);&lt;br /&gt;		//tracer.text = tracer.text + &quot;For the last key typed, Key code is: &quot; + Key.getCode() + &quot;,ASCII value is: &quot; + Key.getAscii() + newline;&lt;br /&gt;		if (Key.getCode()==13) {&lt;br /&gt;			serialServer.send (outputer.text + newline);&lt;br /&gt;			//trace (&quot;output: &quot; + outputer.text);&lt;br /&gt;			tracer.text = tracer.text + &quot;output: &quot; + outputer.text + newline;&lt;br /&gt;			outputer.text = &quot;&quot;;&lt;br /&gt;		}&lt;br /&gt;	};&lt;br /&gt;	Key.addListener(keyListener);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I hope you find that useful - if so, it would be nice if you coule let me know.&lt;br /&gt;&lt;br /&gt;Thanks</description>
		<dc:creator>nosignal</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-06-13T22:30:41</dc:date>
	</item>
	</rdf:RDF>

