Массив строк записи сокета 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();
}