我从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;
}
}
}
答案 0 :(得分:0)
e.target.data不是ByteArray而是Socket,你在行读取所有收到的字节:
GELEN_VERI = fl_socket.readUTFBytes(fl_socket.bytesAvailable);
不要指望任何数据符合:
Dsteps2 = GELEN_BYTES.readObject();
...因为您已经阅读了最新的可用数据。