Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kafejka internetowa - połączenie między użytkownikami
Koleś
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
envp
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 16:32