Цитата:
Сообщение от Fire
а почему это разнится для двух разных картинок то?
|
Там хитро - waf стартует поток передачи сразу, но поток вызова не блокируется - если сразу за waf поставить close то получается что вначале стартует передача первой пачки пакета и параллельно вызывается close, который, в свою очередь, заблокирован состоянием busy сокета (т.к. пачка уже начала передаваться, сокет не закрыть и close блокирует сам свой поток до освобождения сокета или таймаута). Как только первая пачка передастся, close будет первым в пуле потоков, кто получит доступ к сокету и соотв. закроет его до того, как будет сформирована следующая пачка данных пакета.
Таким образом мелкие файлы, которые влезают в одну пачку ~<60кб передаются без проблем, а вот файлы которым нужно больше одной пачки - обрывались бы после первой.