Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Integracja php z node.js
foxbond
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

Ostrzeżenie: (0%)
-----


Tworzę obecnie grę przez przeglądarkę. Zdecydowałem się na php+mysql po stronie serwera (z gotowym miejscem na implementację memcache) i html+css+js po stronie przeglądarki (bez uroków html5). Dodatkowo do gry równolegle powstaje klient w c#.


Nie przewiduję 100k graczy on-line, raczej coś koło tysiąca więc uznałem, że w/w technologie wystarczą, wręcz mają jeszcze zapas.

Przemieszczanie się po mapie jest real-time względem innych graczy, a sama walka jest w zamyśle turowa. (dopiero biorę się za jej tworzenie).

komunikacja klient<->serwer
mapa:
klient odpytuje serwer co 1s lub gdy wykona dowolną akcję (poruszy się, zmieni eq)

walka:
W planie było tak samo.

Komunikacja odbywa się za pomocą API (a nie każde zapytanie ma inną strukturę, każdy POST inny schemat). Dzięki temu możliwe jest tworzenie klienta w C# przez inną osobę.

Uznałem jednak, że jest to dość niewygodne rozwiązanie. Nie chcę skazywać na zapomnienie silnika napisanego w php. Nie jest on ukończony, ale pochłonął wystarczająco dużo godzin, aby go uznać za 'cenny'.


Wydumałem sobie, aby połączyć node.js z php. Czyli komunikacja by wyglądała mniej więcej w ten sposób:

Kod
klient<->node<->php
           |     |
            mysql


klient - widok;node - kontroler;php - część wykonawcza


Prosiłbym o rady w jaki sposób mogę wykonać integrację node z php, w jaki sposób wykonać skrypty php przez node. W tym wypadu klient nie musiałby odpytywac serwera co 1s, tylko node (socket.io) sam wykonywałby skrypt php i wysyłał dane do klienta.


Z góry dziękuję



Jeśli ktoś jest zainteresowany samym projektem mogę wysłać linki na pw, nie chcę, aby temat wyglądał na reklamę.

Ten post edytował foxbond 15.09.2013, 10:18:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
R4D3K
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


Nie ma dedykowanego IDE dla nodejs, polecam poszukać w pluginach do netbeansa lub eclipsa. Jeśli chodzi o łączenie php z nodejs to ja polecam schemat taki:
* php będzie głównie odpalane przez CLI (z wiersza poleceń), w cronie, stwórz demona która raz na jakiś czas będzie odpalał się i sprawdzał memcached. I będzie zapisywał dane w mysqlu
* nodejs będzie reagował eventami na zdarzenia websocketów => jeśli chcesz klienta przeglądarkowego to tutaj websockety, żeby nie dublować funkcjonalności możesz już i klienta c# też zostwić websockety.
* nodejs będzie zapisywał dane współdzielone w memcached php jakiś tam częsciowy backup będzie wykonywał
Jedna rada co do phpowej sesji to ustwa sobie handler na memcached oraz serializuj w jsonie dzięki temu będziesz miał do niej dostęp z poziomu nodejs w łatwy sposób. Nie korzystaj natomiast z FastCGI to nie do tego służy i tylko spowolni Ci serwa. Tak z ciekawości co to za projekt ?

Ten post edytował R4D3K 16.09.2013, 18:45:18
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: 7.10.2025 - 07:28