Autor | Zpráva | ||
---|---|---|---|
AMD Profil |
#1 · Zasláno: 3. 11. 2006, 21:33:39 · Upravil/a: AMD
Ahoj,
potřeboval bych v PHP funkci, která by ověřila, zda mám zaplej nebo vyplej počítač (asi pingem na IP - hodil by se timeout, třeba 1 sekunda) a v závislosti na tom ukázala ikonku :-) Takovej status :-) Hledal jsem "ping" v seznamu funkcí na PHP.net, ale nic relevantního jsem nenašel. Nechci žádný tank na mravence, jen mini funkci. Poraďte prosím. Díky... |
||
sslavo Profil |
#2 · Zasláno: 3. 11. 2006, 21:46:07
hmm myslis ako ten na Icq?
ked nieco najdes tak budemem vsetci radi |
||
AMD Profil |
#3 · Zasláno: 3. 11. 2006, 21:47:59
V podstatě jo - s tím rozdílem, že bude rozlišovat jen online a offline...
|
||
thingwath Profil |
#4 · Zasláno: 3. 11. 2006, 21:57:13
system() :-)
|
||
AMD Profil |
#5 · Zasláno: 3. 11. 2006, 21:59:40
:-) To mi na serveru bohužel neprojde...
|
||
sslavo Profil |
#6 · Zasláno: 3. 11. 2006, 22:00:54
a v system() aky prikaz pouzijes?
|
||
thingwath Profil |
#7 · Zasláno: 3. 11. 2006, 22:02:06
Rozhodně ti to projde spíš, než získání přístupu k surovému soketu, který pro poslání toho icmp echo requestu potřebuješ (hint: superuser only).
|
||
thingwath Profil |
#8 · Zasláno: 3. 11. 2006, 22:02:42
sslavo
ping mi nepřijde jako špatná volba... |
||
AMD Profil |
#9 · Zasláno: 3. 11. 2006, 22:07:56
Aha. Sakra, tak jak já to jen udělám... :-/
|
||
thingwath Profil |
#10 · Zasláno: 3. 11. 2006, 22:08:49
Jestli je ten počítač tvůj, tak přes něco nad UDP nebo TCP.
|
||
AMD Profil |
#11 · Zasláno: 3. 11. 2006, 22:10:36
Kdyby byl můj, tak neřeším, zda mi projde system() a prostě to jen povolím ;)
|
||
thingwath Profil |
#12 · Zasláno: 3. 11. 2006, 22:20:10
Myslím ten který chceš zjišťovat zda žije.
|
||
AMD Profil |
#13 · Zasláno: 3. 11. 2006, 22:21:44
Aha, ten můj je.
Mimochodem, přes Python mi i ten system() projde, ale ping: command not found. Božemuj... |
||
thingwath Profil |
#14 · Zasláno: 3. 11. 2006, 22:23:50
Tak tam možná ping nemají, proč taky, ona to není zase tak nepostradatelná věc. Nebo je někde pryč, aby to nemohl pouštět každý.
|
||
thingwath Profil |
#15 · Zasláno: 3. 11. 2006, 23:18:24 · Upravil/a: thingwath
Něco-jako-ping lze tedy udělat přes službu echo (kterou musíte samozřejmě na sledovaném stroji zapnout, je to někde i ve windows, ale nevím kde). Pak už je to snadné. Podotýkám, že jde o UDP verzi echa (datagram, dgram...), když zapnete TCP variantu, nepůjde to :-)
V ideálním případě to vypíše 'jsi tam?', což znamená, že stroj běží, v případě že neběží, počká to 10 sekund a nevypíše to nic, pokud běží počítač ale ne služba, seřve vás PHP (ošetřete si to). Šlo by to samozřejmě napsat líp. (jestli jste si tenhle kousek kódu zkopírovali s osmičkou v connectu a nejde vám, má tam samozřejmě být 7) |
||
AMD Profil |
#16 · Zasláno: 4. 11. 2006, 10:45:59 · Upravil/a: AMD
Jo, stačilo jen přidat do /etc/xinetd.conf:
enabled = echo-dgrama restartovat xinetd: /etc/init.d/xinetd restarta už to jede. Díky! :) |
||
AMD Profil |
#17 · Zasláno: 4. 11. 2006, 11:13:36 · Upravil/a: AMD
Jede, ale jen z localhostu na localhost. Ze serveru na mou IP to nejde :( Zkusím se zeptat admina...
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0