HTML and CSS Reference
In-Depth Information
socket server. Others include a PrivateMessageRequest and a PluginMessageRequest . A
PublicMessageRequest is a message that will be sent to everyone in the room. We send that
data using an EsObject , which is native to the ElectroServer API. It allows you to create and
access ad hoc data elements for any type of information you want to send to other users in the
same room.
NOTE
For a full discussion of EsObject and ElectroServer events, see the ElectroServer documentation.
It is installed with the server on your local machine in [your install folder] //documentation/
html/index.html * .
For this simple chat example, we want to send the chat message the user typed and submitted.
To do this, we will use the setString() method of EsObject . This method takes two para-
meters: the text you want to send, and an identifier you can use to access the text. We also
set another element named type , which will tell us what kind of message we are sending. We
do this because, in a more complicated application, you might send all sorts of messages and
need a way to identify what they are so that you can process them.
After we have configured our PublicMessageEvent with the roomId , the zoneId , and the
EsObject , we call es.engine.send(pmr) to send it to the rest of the room:
function
function sendMessage ( event ) {
var
var formElement = document . getElementById ( "textBox" );
var
var pmr = new
new PublicMessageRequest ();
pmr . message = "" ;
pmr . roomId = _room . id ;
pmr . zoneId = _room . zoneId ;
var
var esob = new
new ElectroServer . EsObject ();
esob . setString ( "message" , formElement . value );
esob . setString ( "type" , "chatmessage" );
pmr . esObject = esob ;
es . engine . send ( pmr );
statusMessages . push ( "message sent" );
}
Notice that we did not print the user's chat message to the canvas when it was submitted.
Instead, we will wait for the PublicMessageEvent to return from ElectroServer and then
handle it like all the other chats. This keeps the interface clean, while preserving a create
event/handle event processing model across the entire application.
Search WWH ::




Custom Search