flash on 2010-8-12

by virtualex
♥0 | Line 72 | Modified 2010-08-12 08:01:00 | MIT License
play

ActionScript3 source code

/**
 * Copyright virtualex ( http://wonderfl.net/user/virtualex )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/lB9P
 */

package {


    import flash.display.*;

    import flash.events.*;

    import flash.geom.*;

    import flash.net.*;

    import flash.system.*;

    import org.libspark.betweenas3.BetweenAS3;

    import org.libspark.betweenas3.easing.*;

    import org.libspark.betweenas3.tweens.ITween;

    import com.bit101.components.*;

   
    public class SocketExample extends Sprite {
  
        public function SocketExample() {
             
            var socket:CustomSocket = new CustomSocket("google.com", 80);
               new Label(this, 360, 440, "PLEASE CLICK STAGE")
  
        } 
    }
}

import flash.errors.*;
import flash.events.*;
import flash.net.Socket;

import com.bit101.components.*;
 
class CustomSocket extends Socket {
    private var response:String;
 
    public function CustomSocket(host:String = null, port:uint = 0) {
       super(host, port);     
        configureListeners();
  
    }

    private function configureListeners():void {
        addEventListener(Event.CLOSE, closeHandler);
        addEventListener(Event.CONNECT, connectHandler);
        addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
        addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
    }

    private function writeln(str:String):void {
        str += "\n";
        try {
            writeUTFBytes(str);
        }
        catch(e:IOError) {
            trace(e);
        }
    }

    private function sendRequest():void {
        trace("sendRequest");
        response = "";
        writeln("GET /");
        flush();
    }

    private function readResponse():void {
        var str:String = readUTFBytes(bytesAvailable);
        response += str;
    }

    private function closeHandler(event:Event):void {
        trace("closeHandler: " + event);
        trace(response.toString());
    }

    private function connectHandler(event:Event):void {
        trace("connectHandler: " + event);
        sendRequest();
    }

    private function ioErrorHandler(event:IOErrorEvent):void {
        trace("ioErrorHandler: " + event);
    }

    private function securityErrorHandler(event:SecurityErrorEvent):void {
        trace("securityErrorHandler: " + event);
    }

    private function socketDataHandler(event:ProgressEvent):void {
        trace("socketDataHandler: " + event);
        readResponse();
    }
}