0

我从 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;
            }
        }
    }
4

1 回答 1

0

e.target.data 不是 ByteArray 而是 Socket 并且您在 line 读取所有接收到的字节:

GELEN_VERI = fl_socket.readUTFBytes(fl_socket.bytesAvailable);

不要期望任何数据在行:

Dsteps2 = GELEN_BYTES.readObject();

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

于 2012-08-27T07:03:01.627 回答