Всем здравствуйте.
Подскажите, плз, такой момент: не первый раз сталкиваюсь с ситуацией, когда TCP_Client не до конца выдаёт страницу. Пробывал и Keep-Alive и Close. Есть ли решение проблемы?
Спасибо.
Этот топик читают: Гость
Ответов: 87
Рейтинг: 1
|
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
dimm666 писал(а): Есть ли решение проблемы?Есть. Поставить накопитель потока |
|||
карма: 22 |
|
Ответов: 87
Рейтинг: 1
|
|||
Не совсем понял?..
|
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
На тебе пример покусочного чтения картинки, принцип должен быть понятен
code_23390.txt Накопитель потока ставится для того, чтобы собрать разрозненные куски контента, обусловленные тем, что в нэте все передается кадрами, а не целиком. Размер кадра определяется таким параметром, как MTU, слышал, поди, о таком ![]() |
|||
карма: 22 |
| ||
файлы: 1 | code_23390.txt [3.9KB] [296] |
Ответов: 87
Рейтинг: 1
|
|||
я вот так делаю. На других страницах - всё ок. На некоторых - не до конца. Такое ощущение, что раньше времени разрывает соединение.
code_23392.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_23392.txt [918B] [259] |
Ответов: 4641
Рейтинг: 334
|
|||
[offtop]nesco, вот ты разнокопителся
![]() Если ввести в поиске по форуму, точно есть схема. Предлагаю туда отправлять (читать как приучать) ![]() |
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
dimm666 писал(а): На некоторых - не до концаРамер ты смотрел, какой у них -- параметр Content-Length ![]() dimm666 писал(а): Такое ощущение, что раньше времени разрывает соединениеРади Бога, оставайся при своем ощущении, я свое слово сказал |
|||
карма: 22 |
|
Ответов: 87
Рейтинг: 1
|
|||
Ravilr писал(а): Да не в накопителе дело... ИМХО, конечно... ![]() |
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
dimm666 писал(а): Да не в накопителе дело...А можно посмотреть рабочий пример на стандартных компонентах, с нормальными параметрами запроса, или это секретная информация ![]() |
|||
карма: 22 |
|
Ответов: 1429
Рейтинг: 50
|
|||
Много ночей провел над этой ошибкой. Кошмар! Вот моя версия, возможно я и не правильно ее понимаю.
Преодолел я ее со скрипом, причина была в многопоточности работы браузера, он грузит страницу несколькими потоками, а не одним. Страница при загрузке хочет куски кода которые должны подгружаться с других адресов. по этой причине: 1. Если скачать страницу полностью и отдать браузеру "на выполнение" - она будет с ошибками. 2. Если надо прокси, то надо чтобы TCP-клиенты размножались в мультике, на ходу, и выполняли паралельные запросы этой страницы(геморой). |
|||
карма: 0 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
login писал(а): причина была в многопоточности работы браузераПричем здесь браузер, когда разговор идет об dimm666 писал(а): TCP_Client не до конца выдаёт страницуКаким боком браузер относится к TCP_Client-у, и откуда у TCP_Client-а взялась многопоточность ![]() |
|||
карма: 22 |
|
Ответов: 1841
Рейтинг: 370
|
|||
[flood]
login писал(а): TCP-клиенты размножалисьужас то какой ![]() |
|||
карма: 1 |
|
Ответов: 1429
Рейтинг: 50
|
|||
Это я глупость написал, извиняюсь, у меня было другое.
|
|||
карма: 0 |
|
Ответов: 1841
Рейтинг: 370
|
|||
[offtop]
CriDos писал(а): и откуда у TCP_Client-а взялась многопоточностьда она там давно уже и причём успешно применяется в моих проектах ![]() |
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
CriDos писал(а): да она там давно уже и причём успешно применяется в моих проектахИ в чем это проявляется, в независмой передачи разных контентов, в разных потоках, или что-то другое ![]() Нет в компоненте многопоточности и данные принимаются последовательно, а не в разных потоках. Сделать многопоточность самому и имеется в компоненте, это немного разные вещи |
|||
карма: 22 |
|