|
-
FLASH5+ Client -
How does it work ?
FLASH5 client communicates to jChatBox XMLConnector
service (server-side) through HTTP. FLASH5 sends HTTP GET
requests to get chatroom information, to login/logout and
to chat. XMLConnector returns standard XML formated responses
that will be processed by the FLASH 5 client. FLASH5 includes
an XML parser to process responses.
We provide some a script to convert parsed XML to FLASH5 variables.

FLASH5
chat client with jChatBox XML Connector Service
Script
and FLASH5 variables
:
We provide a script
that converts jChatBox XML content to FLASH5 variables (Arrays
and Objects) more convenient to FLASH5 designers. This
script in included in the "jChatBoxXMLScript"
layer.
| chatroomsVector
is an Array of objects : chatroomDesc.
In a few words, it's the list of all chatrooms. |
| chatroomDesc
is an object with the following properties : |
| name |
Name
of the chatroom. |
| subject |
Subject
of the chatroom. |
| date |
Opening
date of the chatroom. |
| maxusers |
Maximum
users allowed in the chatroom. |
| totalusers |
Number
of users in the chatroom. |
| id |
Chatroom
id (needed to login). |
| private |
Private
message allowed (true or false). |
| refresh |
Refresh
rate controlled by server-side. |
| userlist |
Userlist
of the chatroom (Array of objects : user). |
| msgs |
Messages
of the chatroom (Array of objects : msg). |
|
| msg
is an object with the following properties : |
| date |
Date
of the message. |
| from |
Sender
of the message. |
| to |
Recipient
of the message. |
| type |
Type
of the message (1=join, 2=left, 3=private). |
| content |
Content
of the message. |
|
| user
is an object with the following properties : |
|
|
Here
is a FLASH5 sample script that reads chatrooms information
:
/**
* Displays all chatrooms info in a textfield named
content_feed_display.
* vector is an alias for chatroomsVector variable.
*/
function displayData(vector)
{
content_feed_display = "";
for (j=0;j<vector.length;j++)
{
chatroomDesc
= vector[j];
content_feed_display
+= "<p><font size=\"+2\">"+chatroomDesc.date+"
"+chatroomDesc.id+" "+chatroomDesc.name+"
"+
chatroomDesc.subject+"
"+chatroomDesc.totalusers+"/"+chatroomDesc.maxusers+
"</font></p>";
}
} |
Script
and FLASH5 functions (API) :
In addition to objects allowing designer to manipulate chatrooms,
we provide an API to integrate designer's User Interface
with jChatBox script. The API is based on callbacks.

| jChatBox
ACTIONS |
jChatBox
CALLBACKS |
| doManager() |
callbackManager(chatroomsVector) |
| doLogin(username,
chatroomid) |
callbackLogin(chatroomDesc) |
| doChat(message,to) |
callbackChat(chatroomDesc) |
| doRefresh() |
callbackRefresh(chatroomDesc) |
| doLogout() |
callbackLogout(chatroomsVector) |
| doQuit() |
callbackQuit(chatroomsVector) |
Here
is a FLASH5 sample script using jChatBox API :
/**
* Callback matching to doChat.
* chatroom variable is the instance of the joined chatroomDesc.
*/
function callbackChat(chatroom)
{
displayChat(chatroom);
}
/**
* User Interface : Displays chatroom messages in message_area.
*/
function displayChat(chatroom)
{
messages_area = "";
vector = chatroom.msgs;
for (j=0;j<vector.length;j++)
{
msg = vector[j];
if
(msg.type == "1")
{
//
Join messages.
messages_area
+= "<p><font size=\"-2\">"+msg.date+"</font><font
size=\"+2\">"+
" ***"+msg.content+" has
joined the chatroom</font></p>";
}
else
if (msg.type == "2")
{
//
Left messages.
messages_area
+= "<p><font size=\"-2\">"+msg.date+"</font><font
size=\"+2\">"+
"
***"+msg.content+" has
left the chatroom</font></p>";
}
else
if (msg.type == "3")
{
//
Private messages.
messages_area
+= "<p><font size=\"-2\">"+msg.date+"</font><font
size=\"+2\">"+
" <b><"+msg.from+"></b>
"+msg.content+"</font></p>";
}
else
{
//
Normal messages.
messages_area
+= "<p><font size=\"-2\">"+msg.date+"</font><font
size=\"+2\">"+
" <b><"+msg.from+"></b>
"+msg.content+"</font></p>";
}
}
} |
|