1

Topic: SyncSwfEvent.SYNC_MSG_RCVD Problem

Hi forum!

I created a custom pod with AS3. With this pod the host can play sound and show images for all participants.

My Problem:
Not all sync messages arrives to the participants.

My code snippets:

connector.addEventListener(SyncSwfEvent.SYNC_MSG_RCVD, onMessageReceived);

function onMessageReceived(e:SyncSwfEvent):void{
    
    if(e.data.msgNm == "functionA"){
        funcA(e.data.msgVal);
    }
    if(e.data.msgNm == "functionB"){
        funcB(e.data.msgVal);
    }
}

connector.dispatchSyncMessage("functionA", foo, false);

If the funcA is triggered then a dispatchSyncMessage with a parameter is executed every second (setInterval). This is for the participants who joined after. So all participants see the same.
Or is there a better solution for participants who joined after the start?

In most cases this works!
But in some cases the syncMessage don't arrives at the participant and the function (funcA) don't execute. Any idea why?

2

Re: SyncSwfEvent.SYNC_MSG_RCVD Problem

I can't see any issues with the code you've got.

It would be helpful to understand what you're trying to do.  Adobe Connect should take care of catching everyone up to the same state regardless of what time they joined the meeting.  It shouldn't be necessary to have your function run every second to do this.

Someone attending late, should still receive the last stateful message for each messageName or the full queue of messages is the dispatchMessage is non-stateful.

Is that not happening in your case?  What does your funcA() do?

3

Re: SyncSwfEvent.SYNC_MSG_RCVD Problem

Hi alistairlee

Thank you for your answer. My pod is like a lounge pod with sounds, image, topic and a countdown.

The p_isDelta parameter doesn't work. Here are my code snippets:

function saveAndClose(e:MouseEvent):void{

  var topic:String = topicSetting_txt.text;
  showTopic(topic);    
  connector.dispatchSyncMessage("showTopic", topic, true);

}

connector.addEventListener(SyncSwfEvent.SYNC_MSG_RCVD, onMessageReceived);

function onMessageReceived(e:SyncSwfEvent):void{

    if(e.data.msgNm == "showTopic"){
        showTopic(e.data.msgVal);
    }

}

function showTopic(topic:String):void{
    container_mc.panel_mc.topic_txt.text = topic;
}

If the participant is already in the room then it works. But if the participant attending late then it don't show the new value.

Do you see any faults?

Thank you for your help.