在 AS3 中处理 P2P 客户端时,我偶然发现了一些我想完全理解的东西。
虽然这有效:
private function test():void
{
_sendStream = new NetStream(_nc, NetStream.DIRECT_CONNECTIONS);
var c:Object = new Object;
c.onPeerConnect = function(subscriber:NetStream):Boolean
{
trace("onPeerConnect");
return true;
}
_sendStream.client = c;
...
}
这不起作用:
private function test():void
{
_sendStream = new NetStream(_nc, NetStream.DIRECT_CONNECTIONS);
_sendStream.client = this;
...
}
public function onPeerConnect(subscriber:NetStream):Boolean
{
trace("onPeerConnect");
return true;
}
在不深入手头特定问题的细节的情况下(onPeerConnect 只是在某个时刻在 NetStream 对象的客户端对象上调用的回调函数),这两种函数声明方式之间到底有什么区别,可能是什么原因一种方法有效,而另一种方法在这种情况下无效?