Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] PHP Sockets i Apache - jak to połączyć?
phpmack
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 11.06.2011

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


Witam jak ugryźć taki temat:
Mamy serwis www który ma służyć do wizualizacji informacji przesyłanych ze zdalnych urządzeń GPRS.
Z pomocą przychodzi nam PHP Sockets dzięki któremu mogę otworzyć port i nasłuchiwać informacji z urządzenia GPRS,
problem w tym że skrypt czy też "mini serwer" PHP musi być uruchomiony poza apache w "czystym" PHP z wiersza poleceń bo inaczej nie działa - tzn. mi nie udało się go uruchomić i nie znalazłem też żadnego przykładu z takim rozwiązaniem. No a jeśli niema innego rozwiązania i skrypt wykonywany pod apache nie może otwierać i nasłuchiwać portów to jak rozwiązać problem komunikacji naszego serwisu stojącego na apache z "mini serwerem PHP" odbierającym dane po GPRS ? oczywiście z odebraniem danych nie ma dramatu bo skrypt mógł by je wrzucać do bazy danych a nasza strona by z niej czytała ale przy próbie wysłania czego do urządzenia GPRS jest już problem.... przynajmniej tak mi się wydaje....(IMG:style_emoticons/default/wink.gif) reasumując:
1. czy nasz serwis www na apache może samodzielnie otwierać i nasłuchiwać porty - jeśli tak to jak to zrobić?
2. jeśli nie może i musi to robić niezależny skrypt to jak taki serwis poskładać do kupy, jak się komunikować z tym skryptem przesyłać dane między serwisem a skryptem itd....

mam nadzieje że mocno nie zamieszałem

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpmack
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 11.06.2011

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


No i jednak działa mogę tworzyć i nasłuchiwać porty z poziomu aplikacji uruchomionej na apache (IMG:style_emoticons/default/biggrin.gif)
Tylko uświadomiłem sobie że niesie to za sobą mnóstwo problemów i kombinacji :/ podstawowa sprawa - raporty z urządzeń muszą spływać do DB cały czas nie tylko na czas trwania sesji użytkownika więc wariant z mini serwerem PHP jest o wiele sensowniejszy.
Jak już pisałem wcześniej w tym wypadku do rozwiązania pozostanie problem komunikacji między serwerem PHP a aplikacją a więc:
1. odczyt danych - skrypt PHP wrzuca dane do DB a aplikacja sobie odczytuje tylko że będzie to całkowicie asynchroniczne, co w sytuacji gdy skrypt będzie zapisywał dane w DB a w tym samym momencie z poziomu aplikacji użytkownik będzie coś usuwał, wyszukiwał itd... silnik DB (InnoDB) zadba o to żeby nie było bałaganu czy trzeba się zając tym samemu ?
2. interakcja z urządzeniami GPRS z poziomu aplikacji? tutaj mam większy problem - na razie pomysł mam taki: do każdego połączenia serwerPHP <=> Urządzenie GPRS zestawiam drugie połączenie Aplikacja <=> serwerPHP i gadam z serwerem poprzez port TCP - ma to sens??

trzecia sprawa która mnie trapi to niekończące się pętle po stronie serweraPHP - a więc każdy otwarty socket to niekończąca się pętla która czeka na dane spływające z GPRS czy przy np. 100 urządzeniach nie będzie to duży kłopot? do tego tyle samo iteracji czekających na polecenia z aplikacji (to przy zastosowaniu sposobu j.w), do tego jakaś pętla musi latać po tabeli urządzeń i sprawdzać flagę aktywności aby zamykać i otwierać porty w razie włączenia wyłączenia urządzenia - czy są znane jakieś dobre praktyki przy tego typu zagadnieniach?
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: 27.12.2025 - 06:16