ugrás a tartalomhoz

Fájlok folyamatos kiszolgálása

alippai · 2012. Feb. 28. (K), 20.59
Készítünk egy online node.js alapú alkalmazást, ahol a kliens tölt fel mp3-at, a szerver meg egy másiknak kiszolgálja. Minden szépen működik, amíg nem akarom streamesíteni az egészet.
Felfele szépen darabok ravágom kliens oldalon és chunkonként töltöm fel websocketen keresztül a bináris adatot, egy streamWriterrel írom a diskre.

A probléma a letöltésnél kezdődik, nem tudom rávenni a szervert (alap esetben express-t, de mást sem), hogy a Chrome/FF <audio> tagjának kérésére az egész fájlt szolgálja ki. Mindig a kérés pillanatában létező fájlméretet veszi figyelembe (és nem törődik pl. a Content-Length headerrel, EOF-nak veszi az "éhezést").

Van erre valakinek ötlete? (Hogy hogy lehet HTTP streamet megvalósítani.)
 
2

Megvan a megoldás

alippai · 2012. Feb. 29. (Sze), 17.55
Stream WebM file to Chrome using Node.js
Poetro segítségével megvan a megoldás. A Content-Range header beállítása volt a megoldás.
206-os HTTP headert küldve, a kapcsolatot mindig lezárva és jelezve hogy melyik részt küldtem el (mettől meddig) és mennyi az összes működik.
Sajnos a Flash nem támogatja ezt a típusú streamet, de a HTML5 natív tagek igen.