AS3套接字读取套接字字节作为字节数组

时间:2012-08-26 22:28:15

标签: actionscript-3 sockets bytearray

我从swf服务器套接字一个数组(使用writeObject),服务器重新发送到所有客户端(它不是任何字节上的进程)。但是在swf方面我不会读这个数组。我该怎么做才能解决这个问题。

我的代码:

fl_socket.addEventListener(ProgressEvent.SOCKET_DATA, veri_geldi);

function veri_geldi(e:ProgressEvent):void
    {
        if (fl_socket.bytesAvailable > 0)
        {

            GELEN_VERI = fl_socket.readUTFBytes(fl_socket.bytesAvailable);
            veri_tipi = GELEN_VERI.split(';');
            switch (veri_tipi[0])
            {
                case "DURUM_BILGISI" :
                    durum_bilgisi.text = GELEN_VERI;
                    break;
//Other Cases
                default :
                //it's not work after this line...
                GELEN_BYTES = e.target.data; // "GELEN_BYTES" as a ByteArray

                    Dsteps2 = GELEN_BYTES.readObject(); // Dsteps2 as an Array

                    durum_bilgisi.text = Dsteps2[0].toString() + "|" + Dsteps2[1].toString();
                    break;
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

e.target.data不是ByteArray而是Socket,你在行读取所有收到的字节:

GELEN_VERI = fl_socket.readUTFBytes(fl_socket.bytesAvailable);

不要指望任何数据符合:

Dsteps2 = GELEN_BYTES.readObject();

...因为您已经阅读了最新的可用数据。