2012-10-31 4 views
2

저는 원격 클라이언트 인 SharedObject와 Im을 사용하여 (Red5를 사용하여) 모든 클라이언트에 일부 사용자/발신자 데이터가 포함 된 메시지와 객체를 보내려고합니다.Flex SharedObject는 클라이언트 값을 표시합니다.

문제는 다음과 같습니다. 클라이언트에 표시된 값은 내 SO 값에 저장되어있는 값이 아닙니다.

Heres는 일부 코드 : 메신저 경고 B 브라우저에서 브라우저 A와 로드리고에서 리카르도으로 로그인 한 경우

protected function btSend_clickHandler(event:MouseEvent):void 
{    
    soChat.setProperty("msg",tiMessage.text); 
    soChat.setProperty("userVO",modtrackModel.userVO); 
    tiMessage.text = "";   

} 

private function syncListener(event:SyncEvent):void 
{ 
    for(var i:Object in event.changeList) { 
     var changeObj:Object = event.changeList[i]; 

     switch(changeObj.name) { 
      case "msg":     
       newMessage(event.target.data["userVO"].userName);                       
       break; 

     } 
    } 
} 


public function newMessage(msg:String):void 
{   
    Alert.show(msg); 
} 

그래서 문제가, 브라우저 B에서 브라우저 A와 로드리고의 리카르도을 보여줍니다 ... 그것은 shouldn '맞지? 내 오른쪽에 설정된 마지막 값을 표시해야합니다. 맞습니까?

타이 (영어) 나의 도움이 되었습니까?

+0

당신은 원격지에 soChat –

답변

0

당신은 여기에 MSG 값을 정의 : 경고에 표시 할 사용자 이름 정보를 복용하는

newMessage(event.target.data["userVO"].userName); 

. 표시하려는 값으로 변경해야합니다.

+0

을 만들고 연결하는 위치를 보여주는 코드를 더 추가 할 수 있습니까? 그러나 im은 올바른 값을 전달합니다. 그것은 Alert에서 올바른 속성을 보여줍니다 ...하지만 SharedObject에 저장된 값이 아닌 클라이언트/로컬 값을 보여줍니다 ... – Ricardo

관련 문제