Konec řádku v HTTP
December 9, 2006 on 12:52 pm | In Poznámečky |Při pokračování mých pokusů o naprogramování vlastního jednoduchého BitTorrent klienta jsem se docela dlouho zdržel při implementaci “komunikátoru” s tracker serverem. Tracker server udržuje informace o jednotlivých členech a jeho role je nezastupitelná. Pro komunikaci používá asi všem známý HTTP protokol.
A teď kde přesně byl zakopaný pes. S většinou tracker serverů jsem se domluvil, ovšem můj lokalní azureus na můj požadavek nijak nereagoval. Což mi přislo strašně podivné. Nakonec jsem skončil u pročítaní RFC a problém úspěšně identifikoval. Jde o to, že linux používá pro označení konce řádků jeden znak LF (známá escape sekvence \n). No a HTTP vyžaduje windowsackou konvenci označení konce řádků, kdy je první CR a pak až LF (tedy \r\n), což mě docela překvapilo, ale po této úpravě již vše funguje jak má.
No a teď technická vložka - vzhledem k tomu, že od některých serverů jsem dostal odpověď ve tvaru v jakém jsem ji posílal, tak i oni museli trpět stejnou chybou jako můj “soft” a nebo byli natolik dokonalí, že rozpoznali, že se můj “soft” nechová přesně podle RFC a tak mi poslali odpoveď ve stejném tvaru v jakém jsem jim poslal požadavek. Zajimavé…
No Comments yet »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^