jacobson
30.03.2015, 09:23:44
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
30.03.2015, 09:43:22
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
30.03.2015, 09:45:43
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ś
(Sonda to taki przykład)
Forti
30.03.2015, 10:14:24
Do tego masz cruda. Lub po prostu co request ładujesz dane i renderujesz. Chyba sam nie do końca rozumiesz co chcesz zrobić

Ty próbujesz zrobić coś jak sockety. Do zwykłej sondy możesz zrobić to ajaxem.
jacobson
30.03.2015, 10:23:03
nie widze np tego:
http://strawpoll.me zrobionego na ajaxie
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
30.03.2015, 10:25:02
Przecież tam nie ma ani ajax ani socket? Klikam vote i leci zwykły get.. Ty wogóle wiesz co to ajax i socket?

Sockety też robisz w php.
strawpoll.me/3996639/ -> vote
strawpoll.me/3996639/r - > result
jacobson
30.03.2015, 10:37:34
Czyli rozumiem, ze nie mam co czekac na zadna sensowna odpowiedz na pytanie ?
by_ikar
30.03.2015, 10:55:03
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
30.03.2015, 11:05:46
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
30.03.2015, 11:09:11
dziękuję za konkretną odpowiedź
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
Tuminure
30.03.2015, 11:26:15
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/3996823Rozwią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
31.03.2015, 17:07:36
Znalazłem coś takiego:
https://github.com/jdutheil/nodePHPzobaczę jak się będzie sprawowało w praktyce takie rozwiązanie
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.