0

我正在尝试通过套接字将数组集合中的一系列字符串推送到客户端应用程序。但是,有时,琴弦不会被一根一根地推出。例如,客户端应用程序会这样接收数据: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()对后续数据的调用速度不够快。我不确定这一点。请帮忙。

4

1 回答 1

0

将您的字符串与其索引一起发送,以便您可以按照原始顺序将它们加入远程进程。

像这样的东西:

for (i = 0; i < ac.length; i++){
   socket.writeUTF("[" + i + "]:" + ac.getItemAt(i).toString());
   socket.flush();
}
于 2013-08-30T11:12:03.443 回答