My Portfolio

Choose from the list below to view the subjects of my portfolio. Each subject will display to the right for your amusement.

AS3 Flash Video Player

Flash Ad with Game

Coldfusion CFC OOP

FedExchange Project

Fed Volunteer Signup Form

National IT Repository Documentation

Flash Genie & 8 Ball

Flash Chat

My professional blog:
www.cfcdeveloper.com

Flash Chat Application


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 = "";
	}