Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
denoy
Člen
Avatar
denoy:25.7.2012 13:46

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 Hartinger
Vlastník
Avatar
Odpovídá na denoy
David Hartinger:25.7.2012 14:27

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
You are the greatest project you will ever work on.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na denoy
David Hartinger:25.7.2012 14:30

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
You are the greatest project you will ever work on.
Avatar
denoy
Člen
Avatar
denoy:26.7.2012 0:20

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 Hartinger
Vlastník
Avatar
Odpovídá na denoy
David Hartinger:26.7.2012 9:28

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
You are the greatest project you will ever work on.
Avatar
denoy
Člen
Avatar
denoy:26.7.2012 17:13

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.