Показать сообщение отдельно
  #5 (permalink)  
Старый 08.12.2021, 20:51
Аспирант
Отправить личное сообщение для developer_ Посмотреть профиль Найти все сообщения от developer_
 
Регистрация: 28.07.2011
Сообщений: 40

Сообщение от voraa Посмотреть сообщение
Можно еще попробовать ограничить длину запроса на сервере.
У appache - LimitRequestBody
Тогда сам сервер будет посылать код ошибки, не вызывая скрипт.
Как я говорил - я на сервере "царь и бог". Шутка. В общем сам формирую байтовый поток. Могу послать абсолютно что угодно. Посылаю разумеется корректные http ответы.

И получается - что мне послать браузеру (проверял на мозила и частично хром), что бы браузер мог принять ответ до того как отошлёт все данные.

Upd. дополню как происходит обрыв данных. Т.к. у меня есть полный доступ к приёмному сокету - я принимаю данные порциями. Собственно TCP так и работает. Принимаю данные до тех пор пока не придёт шапка - где я могу вычленить размер body. Далее данные не принимаю. На уровне TCP - висит статус что сервер больше не может принять данные. Клиент в данном случае браузер, на уровне TCP шлёт запросы на возможность передать оставшиеся данные.

Я в этот момент отправляю ответ и закрываю сокет.

Я это написал - потому как не уверен как корректно вообще прерывать отсылку данных с браузера.

Последний раз редактировалось developer_, 08.12.2021 в 21:01.
Ответить с цитированием