Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt nasłuchujący na interfejsie - wykrywanie ping
Forum PHP.pl > Forum > PHP
antost
Witam.
Chciałbym zrobić skrypt, który będzie uruchomiony w tle na linux.
Jego zadaniem będzie nasłuchiwanie na wskazanym intefejsie i wykrywanie pingów, które na ten interfejs mogą przyjść.
Chodzi o to, że w momencie wykrycia pakietu ICMP (pinga) dodaje jakieś informacje do bazy danych.

Proszę o wskazówki lub jakieś informacje, które pomogą w rozwiązaniu problemu.
Pozdrawiam.
Uriziel01
I jesteś absolutnie przekonany że powinieneś to zrealizować w PHP ? Niestety mimo że widzę wiele zastosowań dla PHP to pracujący w tle daemon zdecydowanie nie jest jednym z nich. Napisz to sobie w jakimś nie interpretowanym języku niższego poziomu.
mls
Cytat(Uriziel01 @ 15.02.2012, 07:28:03 ) *
Niestety mimo że widzę wiele zastosowań dla PHP to pracujący w tle daemon zdecydowanie nie jest jednym z nich. Napisz to sobie w jakimś nie interpretowanym języku niższego poziomu.


Rozwiń swoją wypowiedź. Dlaczego uważasz, że do pracującego w tle daemona PHP się nie nadaje? Jakieś doświadczenie w tym temacie, czy tylko "tak mi się wydaje" i "PHP jest do tworzenia aplikacji WWW"?...

A do autora wątku - stream_socket_server i powiązane.
Uriziel01
Na przykład przez tragiczny GC który podczas długotrwałej pracy takiego daemon'a będzie miał cały ogrom okazji aby pokazać swoje wady. Dodatkowo to że język posiada timeout wykonania sugeruje mi że nie został stworzony w takim celu (oczywiście możesz napisać nawet system obsługi promu kosmicznego w php, ale raczej skończysz w oceanie aniżeli na orbicie). Ponadto musimy pamiętać że w tak błachej potrzebie nie ma sensu ładować do pamięci całego ociężałego interpretera PHP wraz z całym bagażem podczas gdy możemy zrobić to przy kilkudziesięciokrotnie mneijszym zużyciu CPU oraz pamięci (oczywiście mówię tutaj o interpretacji nie o skompilowanym OPCode. To takie pierwsze które przychodza mi do głowy.
mls
Czyli tak jak myślałem. Zero praktyki, tylko teoria... No to wracam do pisania mojego daemona w PHP który przy obsłudze ~10000 jednoczesnych połączeń nie obciąża procesora więcej niż o 1%, podobnie jak i z użyciem pamięci - które jest minimalne. Co ciekawe, po ok. czterech miesiącach ciągłej pracy owego "skryptu" nie zauważono, by się rozrastał w pamięci...
Uriziel01
No to powodzenia kolego smile.gif Ja ci przecież nie życzę niczego złego (bo chyba jakoś niesamowicie negatywnie odebrałeś moją wypowiedź) i nie rozumiem tej zgryźliwości. Ja tylko nakreślam fakt że sama instancja procesu interpretera PHP pobierze o wiele więcej pamięci niż 100 instancji tej samej prostej aplikacji napisanej w nieinterpretowanym języku, z resztą przy większych projektach PHP już umarło (co tylko potwierdził FB ze swoim pseudo kompilatorem). Ale to zrewiduje już historia, ja już nie będę offtopował w tym temacie gdyż nie jest to to o co pytał @antost. Pozdrawiam serdecznie.
gothye
poczytaj o Nulog ulog + nulog ,całość załatwi sprawę
antost
Dzięki za tego Ulog'a.
Napewno się przyda.
Można w sumie zewnętrzne skrypty wykonywać jak się połączy z MySql UDF sys_exec() i triggerami.
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.