2011-10-13 2 views
1

많은 ASS3 클라이언트 프로그램이 많은 메시지를 보낼 때 송신 된 모든 데이터를받지 못합니다. 모든 메시지가 수신되어 올바르게 전송되므로 내 서버가이 문제를 일으키는 지 알 수 없습니다. 내 as3 클라이언트는 모든 데이터를 전송하지 않습니다.이벤트 SOCKET_DATA가 AS3의 모든 메시지를 수신하지 못함

private function socketData(event:ProgressEvent):void { 
     while(this.socket.bytesAvailable} 
      var str:String = this.socket.readUTFBytes(this.socket.bytesAvailable); 
      trace(str); 
     } 
    } 

해결책을 알고 있습니까?

답변

1

문제 해결, 그냥 열 수 있었다 내 라우터의 포트.

2

오늘 오후에도 같은 문제가있었습니다. 마지막으로 내가 솔루션과 함께 제공 : 사실 , 당신과 같이 바이트로 메시지 바이트를 읽을 수 있습니다

private function socketData (evt:ProgressEvent):void { 
    var msg:String = ""; // create a buffer 
    while (socket.bytesAvailable) { // while there is byte to read 
     var byte:int = socket.readByte(); 
     if (byte==0) { // if we read the end byte 
      trace(msg); // treat your message 
      msg = ""; // free the buffer 
     } else { 
      msg += String.fromCharCode(byte); // else, we add the byte to our buffer 
     } 
    } 
} 

내가이 당신을 :) 도움이되기를 바랍니다

+0

나는 OP와 같은 문제가 있는데, 도움이되었지만 여전히 데이터가 잘려서 끝나는 경우가 있습니다 (케이스 중 하나에서 데이터의 절반 만받는 것처럼 보입니다). –

관련 문제