Monday, July 25, 2005

[FlashComm] Created Simple Connect Class using AS2

This is just simple sample FCS connection class that I wrote using AS2. I wrote just for collection :) here they are: 1. Save as fcs_connection.as in Classes directory
class Classes.fcs_connection {    private var _fcs_conn:NetConnection;    private var _username:String;    private var _password:String;    private var _roomname:String;    private var _ip:String;    static var _port:Array;    private var _instancename:String;    private var _listComponent:Array;    static var _intervalID;    function fcs_connection(username, roomname, ip, port, instancename, _listComponent){       _username = username;       _roomname = roomname;       _ip = ip;       _port = port;       _instancename = instancename;       _fcs_conn = new NetConnection();       connect(_port[_num]);    }    function connect(portName){       // trace("do connection");       clearInterval(_intervalID);       _fcs_conn.owner = this;       _fcs_conn.onStatus = function(info){          trace(this.uri+" "+info.code);          switch(info.code){             case "NetConnection.Connect.Rejected":                break;             case "NetConnection.Connect.Closed":                this.owner.close();                break;             case "NetConnection.Connect.Failed":                if(_num < (_port.length-1)){                   _num++;                   _intervalID = setInterval(this.owner,"connect",1000,_port[_num]);                } else {                   this.owner.showMessage("ERROR","internet connection down");                }                break;             case "NetConnection.Connect.Success":                this.owner.showMessage("SUCCESS","Connection Successfull";                break;             }    }    _fcs_conn.connect("rtmp://" + _ip + ":" + portName + "/" + _instancename + "/" + removeSpaces(_roomname), _username, _password)       //       sharedWithComponent("connect",_fcs_conn);    }    function close(){       _fcs_conn.close();       sharedWithComponent("close");    }    function setUsername(newname){       _username = newname;       //       sharedWithComponent("setUsername",newname);    }    function sharedWithComponent(functionName,value){       for (var i = 0; i < _listComponent.length; i++) {          _root[_listComponent[i]][functionName](value);       }    }    function showMessage(header,mesg){       // trace(mesg);       _root.showAlert(header,mesg);    }    function removeSpaces(input):String{       if(input.indexOf(" ") != -1) {          return input;       } else {          return input.split(" ").join("_");       }    }    static var _num:Number = 0; }
2. Put on frame 1 (flash file)
var username:String = "yourname"; var roomname:String = "roomname"; var ip:String = "192.168.0.1"; var port:Array = [1935,443,8080,80]; var instancename:String = "test_camera"; _fcsconnection = new Classes.fcs_connection(username, roomname, ip, port, instancename, _listComponent); showAlert = function(header,mesg){       // remember to put alert component on your library       mx.controls.Alert.show(mesg, header, mx.controls.Alert.OK, targetFuntion); }

3 comments:

ade said...

Hi Janu,
Thanks for sharing this... I have read an article you've wrote on flashcomguru... its a good article.

Lunar Breeze said...
This comment has been removed by the author.
Lunar Breeze said...

can u add a rtmp field too as an argument in your class?
\\thanks
www.trendsup.com