我试图通过套接字将数组集合中的一系列字符串推送到客户端应用程序。但是,有时候,字符串不会被逐个推出。例如,客户端应用程序将接收如下数据:array [0],array [1],array [3],array [5] ....
如您所见,某些字符串被跳过了。以下是我的代码:
var i:int;
for (i = 0; i < ac.length; i++){
socket.writeUTF(ac.getItemAt(i).toString());
socket.flush();
}
当我跟踪可用字节时,结果如下:
[string 1]
bytes.available = 851
[string 3]
bytes.available = 1406
.
.
.
据一些人说,这是由于flush()
永远不会被称为后续数据的足够快。我不确定这一点。请帮忙。
答案 0 :(得分:0)
将您的字符串与其索引一起发送,以便您可以按原始顺序将它们加入远程过程。
类似的东西:
for (i = 0; i < ac.length; i++){
socket.writeUTF("[" + i + "]:" + ac.getItemAt(i).toString());
socket.flush();
}