On 2/22/07, Fabian Steiner <[EMAIL PROTECTED]> wrote: > Hello! > > As the subject says I need to test whether a host computer in our > network is reachable or not. At the moment I simply attempt to connect > to a given port that is open when the machine is online: > > [...] > sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > try: > sock.connect(('192.168.0.100', 80)) > except socket.error: > print >>sys.stderr "Server offline" > sock.close() > [...] > > Now I am wondering if there isn't any better method which would be more > general. In fact, I think of something like a python version of ping > which only tries to send ICMP packets. However, I don't know what the > code has to look like then. Any ideas or suggestions? >
This is the only reliable way of telling if you can communicate with a service on a machine. A ping will tell you if it's connected to the network, but not if it is actually providing any services. If you really want a ping, the common way is to just execute the systems ping. -- http://mail.python.org/mailman/listinfo/python-list