phpbar.de logo

Mailinglisten-Archive

[php] geht das auch mit PHP

[php] geht das auch mit PHP

Dominik Schwald php_(at)_phpcenter.de
Fri, 19 Jul 2002 21:54:54 +0200


Norbert Pfeiffer wrote:
>>Meine Vermutung ist,
>>daß VB einen Broadcast macht und guckt, wer antwortet.
> 
> denke ich auch mal ...
> wie macht man einen "Broadcast" - <dummguck>
> 
> Das Ganze liegt im Schichtmodell doch weit weg vom OS,
> da muesste sich doch was platformneutrales nauen lassen ?

Also ich kann dir sagen wie man einen Broadcast PING macht, wenn Dir das 
etwas nützt. Aber keine Ahnung wie das in PHP zu implementieren geht.

192.168.1.255
----------^^^
das ist die Broadcat Adresse, alle Rechner die auf ICMP Ping Signale 
antworten antworten darauf. [evtl antworten einige aber nicht, weil die 
Firewall des entsprechenden Rechners das verbietet].

in meiner Version von Ping geht das am einfachsten so:

ping -bw 1 192.168.1.255

b 
broadcast (ich weiss, dass 255 die Broadcast Adresse ist)
w 
deadline
         Specify a timeout, in seconds, before ping exits
	regardless of how many packets have been sent or
	received. In this case ping does not  stop  after
	count packet are sent, it waits either for deadline
	expire or until count probes are answered or for
	some error notification from network.

ACHTUNG! In früheren Versionen von Ping wurde "b" nicht gebraucht und 
"w" hatte eine andere Bedeutung. Ich benütze folgenden ping unter 
GNU/Linux in der Version:

ds_(at)_work:~> ping -V
ping utility, iputils-ss020124
ds_(at)_work:~>

Durch die obige Kommandozeile ist folgendes sicher:
1.) Alle Hosts die innerhalb von einer Sekunde antworten
     können werden gezählt
2.) Kein Host wird doppelt gezählt (da ein weiter Ping erst nach
     1 Sekunde geschickt werden würde, da ist aber die DEADLINE
     bereits vorbei und wir zählen ihn nicht mehr
3.) Die Ausführung ist SICHER nach 1 Sekunde beendet!

Hilft das?

Grüße, dominik


php::bar PHP Wiki   -   Listenarchive