У меня была такая же проблема сегодня днем. Наконец я пришел с решением:
На самом деле, вы должны прочитать сообщение побайтно, вот так:
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
}
}
}
Надеюсь, это поможет вам:)