About:
Flash powered chat application built for an advice consultation site in 2004. Uses Actionscript 2.0 and connects remotely using shared objects to a Flash Media Server for real-time streaming chat communication. The application allows members of the site to use membership funds to buy consultation chat time and connect to any available consultant through the site when desired. Chat ends automatically when time runs out or they can end the chat prematurely. Consultants use the site to "set" their availability for consultation and an audiable monitor as a ringer when a client "clicks-to-chat". It is all fully automated including a remote database connection to record time and funds used for each chat and which consultant to recieve credit.
Also not shown here is a similar application used by the same site to facilitate video-to-video chat using the same principle but with shared video objects. It also has audio and text chat so that not both users have to have a camera or microphone. The client can text chat while the consultant uses video and audio and visa versa.
For the protection of the customer's copyrighted software not all of the code can be shown, but here are a few lines I was allowed.
client_nc = new NetConnection(); // Open a connection to the server
client_nc.connect("rtmp://xxxx.xxxxx.com/MysticInsight_TextChat/room_" +
advisorid, memberid, whois, advisorname);//
users_so = SharedObject.getRemote("users_so", client_nc.uri, false);
users_so.onSync = function() { //Update user names if they change
user_name.text = users_so.data.Uname;
if(user_name.text == "" && whois == "advisor") {
user_name.text = "Waiting on member.";
}
advisor_name.text = users_so.data.Aname;
if(advisor_name.text != "" && whois == "member") {
Start_btn._visible = true;
memStart.contactText.text = "Ready, press start to begin.";
}
timer_txt.text = users_so.data.Utime;
time_allowed.text = users_so.data.memTime;
}
users_so.connect(client_nc);
}
......
// Send the message text by calling the server message function
function doSend() {
// If there's message text, pass it to msgFromClient
if (length(_root.Message.text) > 0) {
client_nc.call("msgFromClient", null, Message.text);
}
// Clear the message text
Message.text = "";
}
|