PDA

Просмотр полной версии : Ограничение приема через сокет


GrafMine
15.11.2013, 15:20
Как снять ограничение по весу для приема файлов ?

trace('Socket: пришел ответ \n');
var bA:int=socket.bytesAvailable;
var time_txt:String = socket.readUTFBytes(bA);
trace(" "+bA);

Вывод:

Socket: пришел ответ

3472

а реальный размер 5206.
Принимаю я JSON и в итоге получаю кусочек от всей порции

C4Grey
15.11.2013, 16:49
Читать в буфер(ByteArray), отмечать начало и конец строки специальными символами(для окончания обычно используют EOL, U+000A). Можно также передавать сначала длину строки(int), а потом саму строку, и читать в буфер необходимое количество байт.

GrafMine
15.11.2013, 17:22
решил проблему таким образом , не знаю на сколько правильно правда :

while (socket.bytesAvailable) { // while there is byte to read
var byte:int = socket.readByte();
if (byte==0) { // if we read the end byte
trace(msg); // treat your message
global_json_txt = msg;
msg = ""; // free the buffer
} else {
msg += String.fromCharCode(byte); // else, we add the byte to our buffer
}
}