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%)
-----


Oczywiście serwer własny więc mogę go konfigurować do woli

mam pytanie dotyczące tworzenia i otwieraniem portów w samej aplikacji bez pomocy zewnętrznego skryptu mam taki przykład który działa z linii komend a nie działa wywołany przez apache:
  1. <?
  2.  
  3. $host = "192.168.0.157";
  4. $port = 8010;
  5.  
  6. // create socket
  7. $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
  8.  
  9. // bind socket to port
  10. $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
  11.  
  12. // start listening for connections
  13. $result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
  14.  
  15. $spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
  16. do
  17. {
  18. $input = socket_read($spawn, 26, 1) or die("Could not read input\n");
  19. echo "Received input: $input\n";
  20. } while (true);
  21.  
  22. socket_close($socket);
  23. ?>


dlaczego?

oczywiście port 8010 jest wolny (IMG:style_emoticons/default/wink.gif) a apache nasłuchuje tylko na porcie 80
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: 26.12.2025 - 19:35