ugrás a tartalomhoz

Archívum - Feb 28, 2012 - Fórum téma

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.)
 

Infinite sliding window

Poetro · 2012. Feb. 28. (K), 18.35
Sziasztok!

A következő a problémám:
  • Van egy táblám, elemekkel, amelyek meghatározott időrendben vannak, az egyszerűség kedvéért legyen az oszlop neve id és az értékek pedig egész számok.
  • Szeretném lekérdezni a meghatározott elem környezetében levő elemeket egy kis csavarral
  • Ha nincs elég elem a kiválasztott előtt, akkor a lista végéről kellene pótolni az elemeket.
  • Ha nincs elég elem a kiválasztott után, akkor a lista elejéről kellene pótolni.













id 1 3 5 7 9 10 12 14 16 18 21 24

Tegyük fel, hogy a kiválasztott elemünk a 10 és 3 elemnyi a környezet, ekkor a következő értékeket várom: 5, 7, 9, *10*, 12, 14 16.
Ha a kiválasztott elem a 3, akkor a következőket: 21, 24, 1, *3*, 5, 7, 9.
Ha a kiválasztott elem a 18, akkor pedig következőket: 12, 14, 16, *18*, 21, 24, 1. (A *-gal csak azt jelölöm, hogy az a kiválasztott, de a környezetére van csak igazából szükségem).

A fentit meg lehet valósítani 4 lekérdezéssel.
SELECT id FROM `test` WHERE id > X ORDER BY id ASC LIMIT 3;
SELECT id FROM `test` WHERE id < X ORDER BY id DESC LIMIT 3;
SELECT id FROM `test` ORDER BY id DESC LIMIT 3;
SELECT id FROM `test` ORDER BY id ASC LIMIT 3;
És ebből szerver oldalon fel lehet építeni a kívánt listát.

De gondolom van itt valaki aki jobban ért az adatbázisokhoz, mint én, és meg tudja oldani MySQL alatt egy vagy két akár subquery-t használó lekérdezéssel.
 

Egy megadott sor "melletti" sorok

sandrosdj · 2012. Feb. 28. (K), 15.37
Egy már megadott sor előtti és utáni sorok lekérdezése.
Magyarázó kép mellékelve: