我的任务是为 HTML5 WebSocket 服务器创建一个 AS3 客户端。
我最初的想法是使用 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
}
显然,令牌有自己的响应者,并且服务可以保留令牌消息的字典,但是如果我要调用 myService.myCall 两次,在任何一个响应之前,服务会知道将响应与哪个令牌相关联吗?服务是否创建唯一标识符以将响应关联回令牌,或者在这些情况下会失败?
如果它确实在内部存储了自己的唯一调用标识符,那么它会比完全跳过令牌并在调用参数中传递响应者更好吗?例如
myResponder = new Responder(onResult, onFault);
myService.myCall(myIResponder, <additional params>);
function onResult(event:ResultEvent) {
// do stuff
}
function onFault(event:FaultEvent) {
// do stuff
}