Метод onPeerConnect с использованием Adobe Cirrus не запускается - PullRequest
0 голосов
/ 18 августа 2011

У меня установлена ​​NetGroup с использованием Adobe Cirrus.Все клиенты могут нормально подключаться и видеть друг друга, так как я получаю события NetGroup.Neighbor.Connect и NetGroup.MulticastStream.PublishNotify при публикации нового потока.

Однако, если пользователь подписывается на опубликованный поток, издатель этого не делает.получить уведомление (нет NetStatusEvent и нет обратного вызова метода onPeerConnect).Абонент получает поток без проблем.

Все остальные вопросы о нерабочем методе onPeerConnect были связаны с NetStream.DIRECT_CONNECTIONS, но в моем случае я использую NetGroup.здесь не так?

// Only the relevant parts, a few things have been stripped (e.g. connect the netGroup only when the NetConnection has been established etc.)
var groupSpecifier:GroupSpecifier = new GroupSpecifier("group");
groupSpecifier.multicastEnabled = true;
groupSpecifier.postingEnabled = true;
groupSpecifier.serverChannelEnabled = true;
groupSpecifier.objectReplicationEnabled = true;
groupSpecifier.ipMulticastMemberUpdatesEnabled = true;
groupSpecifier.routingEnabled = true;

var netGroup:NetGroup = new NetGroup(netConnection, groupSpecifier.groupspecWithAuthorizations());

var netStream:NetStream = new NetStream(netConnection, groupSpecifier.groupspecWithAuthorizations());
netStream.client = {onPeerConnect:onPeerConnect};
netStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);

// Never gets called
public function onPeerConnect(netStream:NetStream):Boolean {
    trace("onPeerConnect: "+netStream.farID);

    return true;
}

private function onNetStatus(event:NetStatusEvent):void {
    trace(event.info.code);

    switch(event.info.code) {
        case EventCodes.STREAM_CONNECT_SUCCESS :
            netStream.attachCamera(camera);
            netStream.attachAudio(microphone);
            netStream.publish(streamName);
            break;
    }
}

1 Ответ

3 голосов
/ 09 сентября 2011

onPeerConnect вызывается только при использовании DIRECT_CONNECTIONS, а не для NetGroups.К сожалению, это не упоминается ни в документации, ни где-либо еще.

...