| aQuestion |
09.01.2008 18:00 |
ну и что, что сокет? будет круто, если хмл с сервера можно будет получать в качестве бонуса. событие то - типа хмл пришел/обновился - по идее можно и самому кинуть, из метода или ещё как. вообще говоря, четкого плана пока нет, надо сесть, помозговать. скажем, приходящий мессадж считается под-нодом в хмл, которому соответствует (каким-то образом) некий подчинённый объект в нашей системе, которому, собственно и передаётся мессадж для обработки; ну и если мы уже находимся в этом объекте - то обрабатываем. как обрабатываем - скажем определяется логикой в классе-наследнике....
edit: чтобы не изобретать по возможности велосипед, вновь обратился к поиску и нашёл вот это. как бы круто с одной стороны, официальная адобовская приблуда, с юнит-тестами и т.п., но с другой стороны:
Код:
private function convertToString( value:* ):String {
// determine what value is and convert it based on it's type
if ( value is String ) { ...
} else if ( value is Number ) { ...
} else if ( value is Boolean ) { ...
} else if ( value is Array ) { ...
} else if ( value is Object && value != null ) {
// call the helper method to convert an object
return objectToString( value );
}
...
private function objectToString( o:Object ):String
{
...
// determine if o is a class instance or a plain object
var classInfo:XML = describeType( o );
if ( classInfo.@name.toString() == "Object" )
{ ...
else // o is a class instance
{
// Loop over all of the variables and accessors in the class and
// serialize them along with their values.
for each ( var v:XML in classInfo..*.( name() == "variable" || name() == "accessor" ) )
{ ...
как видим, ссылки на объекты тупо заменяются копиями. дас ист нихт гут.
|