Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Node.js + PHP
Forum PHP.pl > Forum > Po stronie przeglądarki
jacobson
Witam, mam projekt który zawiera kilka modułów: logowanie, rejestracje, artykuły, bloga iiii sonda (chciałbym, żeby była podpięta pod node.js aby wyświetlać wszystkie wyniki od razu po zagłosowaniu). I teraz mam problem podstawowy a mianowicie.. jak to ugryźć. Czy aplikacje mam całą przepisać na node czy zostawić strukturę taką jak jest teraz i tylko dopisać moduł do sondy ? Jak wygląda takie połączenie (node js nasłuchuje okreslony adres oraz port) więc musiałby nasłuchiwać tylko adres url ten gdzie występuje sonda ? Jak to wygląda w praktyce ?

Będę wdzięczny za podpowiedzi / lekturę
Pozdrawiam
Crozin
Po co chcesz zaprzęgać Node'a do pojedynczej akcji, która z powodzeniem może być zrobiona w ramach obecnej infrastrktury? Skoro masz projekt w PHP dokończ to w PHP.
jacobson
Bo chciałbym to zrobić bez żadnych setinterval co 100 ms zeby odpytywac czy aby na pewno do sondy została dodana jakaś odpowiedź przez kogoś smile.gif
(Sonda to taki przykład) smile.gif
Forti
Do tego masz cruda. Lub po prostu co request ładujesz dane i renderujesz. Chyba sam nie do końca rozumiesz co chcesz zrobić wink.gif

Ty próbujesz zrobić coś jak sockety. Do zwykłej sondy możesz zrobić to ajaxem.
jacobson
nie widze np tego: http://strawpoll.me zrobionego na ajaxie smile.gif

a mi nie chodzi o sam problem stworzenia aplikacji, a o połączenie aplikacji php z node.js + sockety. Czy idę dobrym tropem ? bo nie wiem jak się za to zabrać.
Będę robił coś a'la portal społecznościowy z elementami wykorzystującymi node.js oraz sockety i dlatego nie wiem czy cały ten portal ma być napisany na node.js (na jakimś frameworku jak sails), czy mogę zrobić to na php i tylko te elementy w node.js ?
Forti
Przecież tam nie ma ani ajax ani socket? Klikam vote i leci zwykły get.. Ty wogóle wiesz co to ajax i socket? wink.gif

Sockety też robisz w php.

strawpoll.me/3996639/ -> vote
strawpoll.me/3996639/r - > result
jacobson
Czyli rozumiem, ze nie mam co czekac na zadna sensowna odpowiedz na pytanie ?
by_ikar
websokety w php to bardzo niestabilny i słaby pomysł. Same websokety do jednego zadania, czyli sprawdzania w interwale czy coś się zmieniło, to nie jest to po co one służą. Łączenie php z node.js to również jest zły pomysł, a nawet beznadziejny o czym sam się jakiś czas temu przekonałem.

Websokety to jest dwustronna komunikacja, znaczy że klient jak i serwer mogą zarówno odbierać jak i wysyłać wiadomości. A jak potrzebujesz odświeżyć tylko jakieś dane, powinieneś skorzystać z server-sent events; w połączenie z xhr pollingiem dla przeglądarek które tego nie będą obsługiwać (głównie IE). I nie wychodzić poza już napisaną aplikacje w php.
redeemer
Do gotowej aplikacji łatwo się integruje taki stack:

PHP -> zeromq -> nodejs -> socket.io

W skrócie: PHP wysyła "eventy" przez zeromq do node.js a ten przekazuje to do klienta przez socket.io.

Eh, muszę znaleźć czas na dokończenie tutoriala/artykułu na ten temat ;-)
jacobson
dziękuję za konkretną odpowiedź smile.gif
Bardzo możliwe, że będzie występować komunikacja uzytkownik -> serwer rowniez dlatego tez mysle nad rozwiazaniem node.js + sockety.
Ale dziękuję za informację co do łączenia php z nodem. Czyli jedynym rozwiązaniem jest napisać projekt na jakimś frameworku razem z logowaniem, rejestracja i innymi funkcjonalnosciami smile.gif

Tuminure
Cytat
Przecież tam nie ma ani ajax ani socket? Klikam vote i leci zwykły get.. Ty wogóle wiesz co to ajax i socket? wink.gif

Ja wiem. Jeżeli wejdziesz na mój quiz http://strawpoll.me/3996823/r to otwiera się połączenie ws, które aktualizuje wyniki w momencie gdy ktoś zagłosuje na http://strawpoll.me/3996823

Rozwiązanie, które zaproponował redeemer jest całkiem ok. Alternatywą może być http://socketo.me/ ale szczerze mówiąc prościej/lepiej/wygodniej mi było zastosować to o czym wspomniał redeemer... z pominięciem zeromq.
jacobson
Znalazłem coś takiego:
https://github.com/jdutheil/nodePHP

zobaczę jak się będzie sprawowało w praktyce takie rozwiązanie
com
Podstawowe pytanie poco? Skoro zalezy Ci na ws i tak czy tak bd zaprzegal node to zrobt to cale w nim. Nie ma sensu utrzymywac 2 serwerow tylko poto zeby na jednym obslugiwac realtime a reszte pisac w php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.