

FTP - několik kódů v jedné zprávě
Tvořím jednoduchý FTP klient s pomocí Sockets API v Linuxu. Po úspěšném anonymním přihlášení a odeslání EPSV začnou chodit zprávy s kódem 230 a nějakým textem (info o serveru). Tyto zprávy potřebuji přeskočit až na zprávu o EPSV, kde server posílá port. Předpokládal jsem, že každá zpráva, kterou klient od serveru obdrží začíná kódem, např. 230 a následuje případně text. Doposud tomu tak bylo (školní server ftp.fit.vutbr.cz se tak chová), ale např. ftp.linux.cz pošle sérii kratších zpráv a poté jednu dlouhou, která začíná kódem 230, ale na konci zprávy jsou další dva kódy, které jsem předpokládal, že pošle zvlášť. Konkrétně 230 Anonymous access granted, restrictions apply a 229 Entering Extended Passive Mode (|||61635|). Oba jsou součástí jedné zprávy, což mi dělá problémy. Je tohle normální chování serveru a mám tomu přizpůsobit program?
A to jsi narazil zatím pouze na tohle?
Az narazis na to, ze kazdy server ma vlastni format vypisu souboru a ty budes muset pro kazdy server delat zvlastni parser, abys z toho ten seznam souboru s dalsimi atributy dostal - treba jen to, zda jde o adresar, soubor nebo link a to uz vubec nemluvim o casu a pravech...
Aha, takže žádná konvence neexistuje a každý server může komunikovat jinak.. Dík.
Já jsem v tomto zelenáč.
Edit: mohu se aspoň spolehnout, že kód je vždy na začátku řádku, nebo ani to ne?
Tak úplně to není. RFC specifikuje příkazy a odpovědi na ně, specifikuje to, co by měl FTP server implementovat. Ale ty výpisy souborů apod. jsou fakt tragédie.