2011-08-18 6 views
0

Adobe Cirrus를 사용하여 NetGroup을 설정했습니다. 새 스트림이 게시 될 때마다 NetGroup.Neighbor.ConnectNetGroup.MulticastStream.PublishNotify 이벤트를 수신하므로 모든 클라이언트가 잘 연결되어 서로를 볼 수 있습니다.Adobe Cirrus를 사용하는 onPeerConnect 메서드가 트리거되지 않습니다.

그러나 사용자가 게시 된 스트림에 가입하면 게시자는 알림을받지 못합니다 (NetStatusEvent가없고 onPeerConnect 메서드에 대한 콜백 없음). 가입자는 문제없이 스트림을 수신합니다.

작동하지 않는 onPeerConnect 메서드에 대한 다른 모든 질문은 NetStream.DIRECT_CONNECTIONS와 관련이 있지만 제 경우에는 NetGroup을 사용하고 있습니다.

무엇이 잘못 되었나요? 하지 넷 그룹에 대한 DIRECT_CONNECTIONS를 사용하는 경우

// 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; 
    } 
} 

답변

3

onPeerConnect에만 호출되고있다. 불행히도, 이것은 설명서 나 다른 곳에서는 언급되지 않았습니다.