Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 3.03.2007 Ostrzeżenie: (0%)
|
Cześć. Zastanawiam się nad stworzeniem internetowej kafejki szachowej. Chcę napisać aplikację podobną do tej na stronie http://64pola.pl/. Dane pomiędzy graczami muszą być przesyłane możliwe jak najszybciej z minimalnym opóźnieniem.
Wpadłem na pomysł, żeby skorzystać z klasy Ajax.PeriodicalUpdater z biblioteki Prototype. Działa to na takiej zasadzie, że JS asynchronicznie pobiera lub zapisuje dane z/do pliku (lub bazy danych, co chyba jest kiepskim pomysłem). Problem w tym, że jeśli w kafejce będzie grać jednocześnie kilkadziesiąt osób, to obciążenie serwera będzie ogromne. Dodatkowo powstaje opóźnienie związane z zapisem do pliku. Czy istnieje jakiś sposób w JavaScript, ActionScript albo w czymś innym oprócz Javy na nawiązanie bezpośredniego połączenia między graczami za pomocą przeglądarki? Ten post edytował Koleś 15.08.2007, 16:22:40 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
No więc tak - przez Ajax możesz łączyć się z serwerem z którego jest odpalany skrypt - można to obejść robiąc w php swojego rodzaju proxy z którym łączy sięnasz Js, a php wymiania dane między nim a jakimśserwerem. Co do Javy - oczywiście da się w apleci zrobić wszystko - tylko do używania socketów musisz sobie stworzyć "sztuczny certyfikat", co jest konsekwencją, że user musi kliknąć "Tak" jak wyskoczy mu paskudne wielkie okno z ostrzeżeniem, że wchodzimy na strone o nieznanym podpisie. Co do podpisu - możesz go uzyskać za chyba okolo 300 dolarów - obejdzie się wtedy bez okienka. Więc - jest sens? Js też ponoć obsługuje sockety - wykorzystuje te z flashplayer (http://www.devpro.it/xmlsocket/) - teraz pozostaje kwestia obejścia firewalli, które będą płakały za każdym razem (oczywiście mowa o windowsie) - a gdy któryś z hostów stoi za NAT'em - twój pomysł z połączeniem bezpośrednim - pada (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więc najrozsądniejszym rozwiązaniem jest stworzenie centralnego serwera, przez który rozgrywki się będą rozgrywać. Najrozsądniej byłoby to zrobić w Java, ale najtrudniej - polecam więc AJAX + PHP + MySQL - a co do twojego gdybania, że kilkadziesiąt userów zarżnie serwer - odpada może kilkadziesiąt tysięcy - tak. Opóźnienie - będzie, ale łatwo to rozwiązać pytasz często jak możesz - pytasz serwer cczy drugi gracz zrobil ruch - dostajesz odpowiedz - to albo reagujesz albo znowu pytasz. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Uff, pozdrawiam, Kamil. |
|
|
|
Koleś Kafejka internetowa - połączenie między użytkownikami 14.08.2007, 16:24:24
szagi3891 raczej bezpośrednie połączenie powinno być możliwe... 14.08.2007, 23:36:26
kosmowariat http://64pola.pl/ajax.html 15.08.2007, 01:29:50
Koleś Cytat(kosmowariat @ 15.08.2007, 02:29... 15.08.2007, 09:52:48
Koleś Cytat(envp @ 15.08.2007, 12:52:20 ) p... 15.08.2007, 12:47:44
envp powodzenia
Btw. a jak chcesz operowac skryptem p... 15.08.2007, 13:26:52
Koleś Nie po stronie klienta, tylko serwera.
Znalazłem t... 15.08.2007, 14:06:12
envp Ja ciebie nie rozumie przeciez chcesz zrobic to sa... 15.08.2007, 14:08:08
Koleś Doszedłem do wniosku, że jednak najlepiej będzie z... 16.08.2007, 21:24:48 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 09:56 |