cybexx
Guest
проблема с чтением из сокета
После открытия сокета, читаю заголовок, из которого извлекаю сколько байт будет послано после заголовка в самом сообщении (xml-данные).
Проблема в следущем: 1. не могу прочитать сразу все данные.
2. не выходит из цикла после конца сообщения
Код:
($len - длина сообщения, $fp-указатель на открытый сокет)
Вот что имею:
После открытия сокета, читаю заголовок, из которого извлекаю сколько байт будет послано после заголовка в самом сообщении (xml-данные).
Проблема в следущем: 1. не могу прочитать сразу все данные.
2. не выходит из цикла после конца сообщения
Код:
($len - длина сообщения, $fp-указатель на открытый сокет)
PHP:
while (!feof($fp)) {
$str=fread ($fp,$len);
fwrite($f,$str);
$lstr=strlen($str);
echo "прочитано - ".$lstr."<br>";
$len=$len-$lstr;
echo "осталось - ".$len."<br>";
}
PHP:
$len = 93750
================================
прочитано - 9552
осталось - 84198
прочитано - 4948
осталось - 79250
прочитано - 2920
осталось - 76330
прочитано - 1460
осталось - 74870
прочитано - 1460
осталось - 73410
прочитано - 1460
осталось - 71950
прочитано - 1460
...
осталось - 3330
прочитано - 1460
осталось - 1870
прочитано - 1460
осталось - 410
прочитано - 410
осталось - 0
прочитано - 0
осталось - 0
прочитано - 0
осталось - 0
прочитано - 0
осталось - 0
прочитано - 0
осталось - 0
...