Avatar
denoy
Člen
Avatar
denoy:

Zdravím všechny,
mám 2 dotazy, začnu tím jednoduším, jak se dá u aplikace řešit 'status' aplikace? Myslím tím přesněji Online/Offline status na webu, napadlo mě posílat request na web třeba co 5 minut a updatovat poslední aktivitu na NOW a na webu prováadět, jestli je poslední aktivita > (NOW - 5 minut) tak je ONLINE, ale nepříjde mi to nějak extra dobrý nápad, poté mě napadlo při přihlášení poslat 1 request na web a updatovat status na Online, při vypnutí na Offline, ale co když klientovi odpojí internet, nebo mu třeba spadne elektrřína, tak se už nezavolá ten ukončující request a bude pořád Online, jak se to řeší?

Druhý dotaz je trochu obtížnější a pojednává o OpenGL hooku. Na googlu jsem moc návodu na C# a OpenGL hooku nenašel. Tak tedy, potřebuju se nabourat do jiného procesu přes OpenGL a poté ten proces, nebo spíše to okno vyscreenovat. Jednoduše řečeno jedná se o hru, která běží v OpenGL a já potřebuju vyscreenovat obraz ve hře a uložit na disk ten screen u Windows Vista a vyšší, jelikož (alespoň jsem se dočetl) Aero u těchto verzí zabranuje vytvořit screen ve fullscreen aplikaci funkci CopyFromScreen, u win XP screeny vytváří perfektně, nemáte někdo nějakou literaturu, nebo zkušenosti? Kdyby to někdo zvládnul tak bych si tuto funkci i koupil, díky moc za odpovědi.

 
Odpovědět 25.7.2012 13:46
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na denoy
David Čápka:

Ahoj
příště bych poprosil ty dotazy do samostaných vláken :)

K dotazu ohledně statusu:

Jsou zde 2 problémy:

1. je, jak server zjistí status aplikace. Myslím, že se to ve většině případů opravdu řeší tím prvním způsobem, tedy aplikace posílá serveru po nějaké době asynchronní request (ten bude malý, stačí pár znaků, nebude to nijak moc zatěžovat). Druhý způsob je nespolehlivý, na volání aplikace se nemůžeš spolehnout přesně z důvodu násilného ukončení, čili by ti nemusela poslat zprávu o vypnutí. Prvním způsobem na serveru lehce zjistíš, že se dlouho nic neposlalo a vyvodíš, že je daná aplikace offline.

Ohledně druhého dotazu to vnímám jako problém, pro C# je XNA a proto pro něj nebude v OpenGL dostatek dokumentace.

Nahoru Odpovědět 25.7.2012 14:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na denoy
David Čápka:

Nějak mi vypadl 2. problém :) Tím je obnovení webu, aby tam nebylo že je někdo online jen proto, že uživatel byl hodinu AFK a poté přišel a marně se mu snaží napsat. Status by se měl AJAXem po nějakém intervalu obnovovat ze serveru.

Nahoru Odpovědět 25.7.2012 14:30
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
denoy
Člen
Avatar
denoy:

Aha, mrknu na XNA a ten status jsem teda vyřešil tou 1. metodou.

 
Nahoru Odpovědět 26.7.2012 0:20
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na denoy
David Čápka:

XNA ti asi nepomůže, je to přes Direct3D (Microsoftí technologie), proto není důvod používat v C# OpenGL a bude pro něj málo dokumentace.

Nahoru Odpovědět 26.7.2012 9:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
denoy
Člen
Avatar
denoy:

Právě jsem chtěl napsal, jestli mi to pomůže, protože jsems e dočetl, že se jedná o Direct, takže mi to nijak nepomůže a dokumentace bude málo.. takže by to chtělo nějakého zkušeného programátora co by věděl vocogo.

 
Nahoru Odpovědět 26.7.2012 17:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.