package
{
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
/**
* largement à poursuivre !
*/
public class Main extends Sprite
{
public var dataXML:XML;
public var room : String = new String( "salon-d-essai" )
public var nickName : String = new String( "ths" )
public var contribution : String = new String("hello world")
public var nbrVisiteurRoom : int = new int( 0 )
public var nbrVisiteurTotal : int = new int( 0 )
public var label:TextField;
public var labelText:String;
public function Main():void
{
// connection au socket XML
var connexion : XMLSocket = new XMLSocket( )
connexion.connect( "127.0.0.1" , 2468 ) // adresse - port
// evenements
connexion.addEventListener( Event.CONNECT , connexionSuccess )
connexion.addEventListener( Event.CLOSE , connexionFermeture )
connexion.addEventListener( DataEvent.DATA , receptionData )
//si la connexion reussi:
function connexionSuccess (e:Event):void
{
connexion.send( "<connect nickname='"+nickName+"' />" )
connexion.send( "<join room='"+room+"' />" )
// ** envoi à la ROOM uniquement
connexion.send("<msg toroom='"+room+"' back='1'><![CDATA["+contribution+"!>]]></msg>")
// ** envoi à tout le monde---------------------------------------------------------------- marche pas ?
//connexion.send("<msg broadcast='1' back='1'>HELLO WORLD !</msg>")
// ** deconnexion
//connexion.send("<m r='"+room+"' back='1' >salut !</m>")
//connexion.send("<quit r='XXX' />")
// ** getInfos ---------------------------------------------------------------------------- marche pas ?
//connexion.send("<getinfo />")
}
//quand des données arrivent
function receptionData (e:DataEvent):void
{
dataXML = new XML(e.data)
if ( dataXML.name() == "m" ) trace ( "message: " + dataXML )
if ( dataXML.name() == "room" ) trace ( "salon: " + dataXML.@name )
if ( dataXML.name() == "room" ) trace ( "nbrRoom: " + dataXML.@clients )
if ( dataXML.name() == "clients") trace ( "nbrRoom: " + dataXML.@nb )
}
function connexionFermeture ( e:Event ):void
{
trace(" *** connexion fermeture ***")
}
}
}
}