Here is what my working code looks like:
// connect to the jabber server
public function connect( host:String, username:String, password:String ) : void {
try {
connection.username = username;
connection.password = password;
connection.server = host;
connection.addEventListener(LoginEvent.LOGIN, eventHandler);
connection.addEventListener(IncomingDataEvent.INCOMING_DATA, eventHandler);
connection.addEventListener(OutgoingDataEvent.OUTGOING_DATA, eventHandler);
connection.addEventListener(MessageEvent.MESSAGE, onMessageHandler);
var result:Boolean = connection.connect(’‘flash’’);
}
catch (errObject:Error) {
logger.append(logger.MESSAGETYPE_ERROR, errObject.message);
}
}
// primary event handler, just logging for now
private function eventHandler ( eventObj:Object ) : void {
try {
switch( eventObj.type ) {
case “outgoingData”:
logger.append(logger.MESSAGETYPE_INFO, eventObj.type + ‘’: ‘’ + eventObj.data);
break;
case “incomingData”:
logger.append(logger.MESSAGETYPE_INFO, eventObj.type + ‘’: ‘’ + eventObj.data);
break;
case “login”:
logger.append(logger.MESSAGETYPE_INFO, eventObj.type);
break;
}
}
catch (errObject:Error) {
logger.append(logger.MESSAGETYPE_ERROR, errObject.message);
}
}
You may also need to add a roster to the connection:
roster = new Roster(connection);
You can attach event handlers to the roster and the connection for presence:
connection.addEventListener(PresenceEvent.PRESENCE, thisRosterCollection.presenceEventHandler);
roster.addEventListener(RosterEvent.USER_ADDED, thisRosterCollection.rosterEventHandler);
Message was edited by: cseibert
Message was edited by: cseibert