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:
Hi Janu,
Thanks for sharing this... I have read an article you've wrote on flashcomguru... its a good article.
can u add a rtmp field too as an argument in your class?
\\thanks
www.trendsup.com
Post a Comment