Массив строк записи сокета flex

Я пытаюсь отправить серию строк в коллекции массивов в клиентское приложение через сокет. Но иногда струны не выталкиваются одна за другой. Например, клиентское приложение получит данные следующим образом: массив [0], массив [1], массив [3], массив [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() никогда не вызывается достаточно быстро для последующих данных. Я не уверен в этом. Пожалуйста помоги.

1 ответ

Отправьте свои строки вместе с их индексом, чтобы вы могли присоединиться к ним в удаленном процессе в их первоначальном порядке.

Что-то вроде того:

for (i = 0; i < ac.length; i++){
   socket.writeUTF("[" + i + "]:" + ac.getItemAt(i).toString());
   socket.flush();
}
Другие вопросы по тегам