![]() |
Flash, XML, XML socket server...?
Ramišljam da li da se upustim u nešto što do sada nisam radio, pa mi treba pomoć da bolje sagledam o kakvom se tačno poslu radi.
Potrebno je napraviti flash animaciju koja kao ulaz koristi XML fajl i traje oko 5 minuta, tj. sve dok se ulazni XML fajl ne ažurira, i tada animacija kreće od početka (opet učitava XML fajl, ali sada sa novim podacima), i sve tako u krug. Ulazni XML fajl se generiše na serveru, a Flash animacija se izvršava na oko 50 kompjutera istovremeno (veoma je bitno da sve animacije istovremeno preuzmu ulazni fajl i da rade potpuno sinhronizovano). Ažuriranje XML fajla na serveru (ili njegovo ponovno kreiranje, u varijanti ako se stari briše posle preuzimanja) treba da bude okidač za sve klijente (flash animacije) da ga odmah preuzmu. Koliko sam shvatio, ovo bi trebalo rešiti pomoću XML Socket Servera pa bih voleo da čujem mišljenja i savet onih koji su ovo koristili ili imali slične zahteve. Pozdrav |
Ne mora da rešiš ovo preko socket-a, mada onda imaš dobru kontrolu samog klijenta koji je povezan na socket.
Koliko vidim, tebi ovde jedino treba da se sinhronišu vremena po kojima dobijaš te informacije , tako da možeš da koristiš i statičan xml u ovom slučaju |
za 50 kklijenata ti ne treba poseban socket server, obican web server na kome ces da ostavis otvorene konekcije ti je dovoljan.
Sto se tice apsolutno tacne sinhronizacije animacija, ne mozes da racunas da ti to server sinhronizuje slanjem XML-a svima istovremeno, jer uvek moze jedna konekcija da se zaglavi zbog stvari koje su van tvoje kontrole. |
Jasno mi je da veze mogu da dovedu do zastoja i smim tim do kasnjenja pojedinih klijenata, shvatio sam da bi socket server to sveo na minimalno. U svakom slučaju bih radije radio bez komplikovanja sa njim, ali nisam siguran kako to najbolje uraditi?
Recimo da se ulazni XML fajl generisan na serveru automatski prenese svim klijentima u neki lokalni folder. Svaki klijent učita fajl, započne animaciju, obriše ulazni XML i čeka sledeći (tada se on učitava i animacija počinje ponovo). Kako da obezbedim da animacija odmah primeti da je novi XML stigao? (ideja koja mi odmah padne na pamet je da stalno pokušavam da učitam XML, recimo na svaku sekundu, sve dok se ne pojavi tj. dok učitavanje ne bude uspešno, ali možda postoji bolji način za ovo). |
Ne znam koliko ce pomoci, ali meni je trebalo potpuno tocno sinhronizirano playanje animacija na xy radnih stanica, pa sam to isfurao bas tako preko xml socketa.
Dakle imao sam broadcaster klijent i dosta listener clienata. Meni je za video wallove trebala milisekundna preciznost pa sam morao izmedju ostalog napraviti da broadcaster periodicki salje beat na koji bi se listeneri javljali te bi tako ustvrdio koja mi je razlika u vremenu izmedju glavnog i klijenata. Sporije radne stanice nisu stizale odvrtiti neke animacije do kraja ali bi se bar na pocetku nove animacije uskladile. Al ako te ne dira to onda xml socket server mozes na svu srecu izbjec.. jer nije neka sreca to raditi. :) Mozes napraviti svoj u phpu, a mozes koristiti neke u javi (red5 itd....). |
Odlično, imao si iskustva sa ovim, nadam se da ćeš mi pomoći da bolje sagledam šta treba da uradim. Recimo da preskočim XML Socket server, već da sa servera pošaljem XML fajl svakom klijentu u neki lokalni folder odakle će ga čitati (pročita, obriše i čeka sledeći). Znam da ovako može da nastane razlika od nekoliko sekundi od klijenta do klijenta (zbog veza), ali to može da se toleriše.
1. Koji je najbolji način da klijent primeti XML fajl istovremeno kada on pristigne? 2. U flash animaciji postoji vizuelno odbrojavanje (5:00 min) koje mora da bude sinhronizovano sa serverom u svim klijentima - znači, ako jedan klijent počne animaciju sa zakašnjenjem od 5 sekundi, odbrojavanje treba da traje 4:55. Kako da sinhronizujem vreme u flash animacijama sa serverom? |
Ako su sve radne stanice pod tvojom kontrolom, možda možeš da osiguraš da sinhronizuju časovnike sa serverom. Mislim da "Windows Time" servis radi tako nešto.
Onda bi bilo dovoljno da stanice znaju kad tačno treba da počne sledeća animacija i da na osnovu svog časovnika kreću. Ovo sam napisao teorijski, nemam blagu predstavu koliko je to sve precizno. |
pa može on i preko socket-a da uzme serversko vreme , poenta je da li mu to treba ...
meh, probaj pa vidi |
Citat:
|
pa socket server nek samo salje neki
<currentdate>10:20-UTC+1</currentdate> ili tako nesto ... to ti serverski odradi kod socket servera |
Vreme je GMT +2. Trenutno vreme je 04:00. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.