| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Сеть > Сокеты |
| Автор: wsr 3.1.2006, 22:33 | ||
| Привет всем! У меня такая проблема: Соединяюсь с сервером => посылаю запрос => читаю ответ! дальше опять посылаю запрос, и опять читаю ответ, и вот как раз после первого получения ответа больше ничего не приходит!
Может все дело в заголовках! Может чего-то нехватает!?? Помогите плизз! |
| Автор: Mal Hack 3.1.2006, 22:44 |
| fread попробуй. |
| Автор: wsr 4.1.2006, 00:03 |
| Попробовал! Это тоже самое, что и каждый раз при новом запросе открывать сокет, и закрывать его! Но чтение данных используя fread работает быстрее, чем открытие сокетного соединения! |
| Автор: Mal Hack 4.1.2006, 00:41 | ||
| wsr что за бред? Я тебе про:
Где ты каждый раз читаешь строку из 128 символов. А если в ней больше? |
| Автор: wsr 4.1.2006, 18:52 | ||
А не пробовал рассмотреть код полностью? Мы дописываем каждый раз к $data данные которые прочитали, но порциями по 128 байт! И так пока не прочитаем все данные! Так что это не бред! |
| Автор: wsr 7.1.2006, 12:56 |
| В мане читал! Может я не в том мане конечно читал, но там ни сказано, что fgets читает N байт и даже если не достиг конца строки переходит на другую! Ну все равно! Поствил я большую длинну! И эффект такой-же! |
| Автор: Mal Hack 7.1.2006, 13:00 | ||
Либо убери ее (длину) нафиг, либо используй fread. Т.к. даже большая длина не даст тебе гарантии, что ты прочтешь ВСЮ информацию. Попробуй перед while'ом поставить fseek( $fp , 0 ); |
| Автор: wsr 7.1.2006, 17:19 |
| Warning: fseek(): stream does not support seeking Но и без fseek все pаработало! Использую вместо fgets fread ($fp, 100000000); Я просто знаю, сколько мне инфры придет! И это число заведомо больше! Теперь не надо все время открывать сокетное соединени! Спс! |