Предистория: Имам персонализиран HTTP сървър, написан на Erlang, за да предавам поточно неща към приложение за iPad. Използвах NSURLConnection - стандартният начин на високо ниво на Apple за консумиране на HTTP съдържание. Въпреки това имах проблеми с малки части от данни, които се буферират и не се предават незабавно на моя код, така че бях принуден да премина към CFNetwork.
Докато NSURLConnection никога не се е оплаквал, CFNetwork понякога (~1 на 3 пъти) дава следната грешка и убива връзката:
The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 303.)
Според Документи на Apple, това съответства на „Отговорът на HTTP сървъра не може да бъде анализиран синтактично“.
Това се случва само след като връзката е била отворена за няколко секунди и отговорът е направен.
Направих заснемане на пакети на сървъра с tshark. Той е доста голям и съдържа UTF-8, както и поверителни подробности.
Как мога да потвърдя, че това е валиден разделен отговор на HTTP 1.1?
Само за пояснение, прегледах резултата от tcpick -C -yP -r ...
и не можах да видя нещо нередно веднага, но се чудя дали има нещо, през което мога да го предам, за да потвърдя, че е валиден байт по байт.