Долго работает fgtes()

fender

Новичок
Долго работает fgtes()

открываю сокет
отправляю запрос
закрываю сокет

это работает очень быстро

а вот если пытаюсь вытащить заголовок ответа c помощью fgets() тут есть проблемы. Примерно вычислил что заголовок ответа 1000 символов максимум.

1) если использовать
PHP:
$resp = fgets($fp, 1000)
то возвращает только первую строку
2) если использовать цикл
PHP:
for($i=0;$i<5)  $resp .= fgets($fp,  200)
то это работает НУ ОЧЕНЬ долго. Ксати, в первом случае думает тоже прилично. Секунд 6-7. Выглядит странным, так как само соединение устанавливается за доли секунды. Или я не понимаю принцип работы этой ф-ии?
В чем причина и есть варианты быстрого по скорости решения вопроса?
 

Фанат

oncle terrible
Команда форума
1) если использовать
$resp = fgets($fp, 1000)
то возвращает только первую строку
Вот удивительно-то!
Если есть масло, то у него, почему-то, оказывается вкус масла!

-~{}~ 02.09.04 13:25:

есть варианты быстрого по скорости решения вопроса
читать не построчно, а куском.
 

Фанат

oncle terrible
Команда форума
Ой правда штоли?
Единственное, что теб извиняет - это ошибка в русском переводе.
fgets читает не кусок, а как раз СТРОКУ. одну строку.
используй для чтения куска fread
 

fender

Новичок
а.... пардон!!!!!! Блин... опять лажанулся

-~{}~ 02.09.04 13:31:

Да... именно русский перевод....
ну все равно лопух, sorry...

-~{}~ 02.09.04 13:35:

как ни обидно но все равно работает медленно ...

-~{}~ 02.09.04 13:41:


в сырцы ф-ии я заглядывать пока не умею, расскажите плиз кто знает как она работает (я про fread уже ). Видимо читается сначала весь файл указатель на который возвращается fsockopen(), а потом из него выдирается нужное кол-во байт. И если этот файл большой то все тормозит? Очевидно это действительно так...
 

ys

отодвинутый новичок
fender

А попробовать обычным телнетом получить тоже самое и
посмотреть будет ли тормозить?

Может дело не в баяне?
 
Сверху