SharedObject를 사용하여 간단한 채팅 응용 프로그램을 만듭니다. SharedObject가 잘 만들어졌고 다른 클라이언트가 SO에서 데이터를 업데이트 할 때 내 앱이 동기화 이벤트를 수신 할 수있었습니다. 그러나 문제는 내 응용 프로그램이 다른 클라이언트에 신호를 보내도록 SO에 데이터를 저장하려고 할 때 발생합니다. 다음 코드를 사용하여 데이터가 변경되었는지 확인했습니다.SharedObject : 다른 클라이언트에서 이벤트를받을 수는 있지만 데이터를 저장 한 후에는 이벤트가 발생하지 않습니다.
trace("before:"+so.data.chatMessage);
so.data.chatMessage = msg.text;
trace("after:"+so.data.chatMessage);
"before : abc"및 "after : def"라고 말했습니다. 불행히도 데이터 변경을 한 클라이언트를 포함하여 SO 데이터가 변경된 후에는 어떤 클라이언트도 동기화 이벤트를받지 못했습니다. 즉,이 클라이언트는 다른 클라이언트의 메시지를받을 수 있지만 메시지 자체는 절대 나올 수 없음을 의미합니다.
누구나 전에이 문제를 봤어? 감사합니다, 잭
당신은'so.flush()'를 사용 했습니까? – Vesper
나는 그것을 몰랐다. so.flush를 호출하면 "Error : Error # 2130 : SharedObject를 플러시 할 수 없습니다."라는 오류가 발생했습니다. 그것은 내부 오류를 인쇄하지 않았다. 그래서 플러시가 성공할 수 없다는 것이 문제였던 것 같습니다. 어떻게 될 수 있었는지 생각해보십시오. 감사. –
@Vesper, BTW, getLoal 대신 getRemote를 사용하여 SO를 작성 했으므로 so.flush()를 호출해야합니까? 나는 문서를 읽었고, flush() 호출이 getLocal()과 getRemote() SO를위한 것이었다면 나에게 너무 명확하지 않았다. –