Мне было поручено создать клиент AS3 для сервера WebSocket HTML5.
Сначала я хочу создать этот сервис, используя некоторые из существующих классов в AS3, а именно пытаться эмулировать RemoteObject,но, посмотрев на него, я не вижу смысла в ASyncToken!
Я понимаю, что токен используется в качестве некоторой формы ссылки между вызовом сервера и его ответом, но я просто не вижугде / как он становится уникальным идентификатором.
Возьмем, к примеру, этот короткий фрагмент кода:
var token:AsyncToken = myService.myCall(params);
news.addResponder(new Responder(onResult, onFault));
function onResult(event:ResultEvent) {
// do stuff
}
function onFault(event:FaultEvent) {
// do stuff
}
Очевидно, что у токена есть собственный респондент, и служба может хранить словарь токенов.-Messages, но если бы мне пришлось дважды вызывать myService.myCall, прежде чем кто-либо из них ответит, узнает ли служба, с каким токеном будет связан ответ?Создает ли служба уникальный идентификатор, чтобы связать ответ с токеном, или в этих условиях произойдет сбой?
Если внутренне сохранит свой уникальный идентификатор для вызовов, как это будет лучше, чем пропуск?токен целиком и передать ответчику в параметрах вызова?Например,
myResponder = new Responder(onResult, onFault);
myService.myCall(myIResponder, <additional params>);
function onResult(event:ResultEvent) {
// do stuff
}
function onFault(event:FaultEvent) {
// do stuff
}