Python - 检测远程计算机是否已打开

jnd*_*dok 9 python udp heartbeat

所以,我有一个Python应用程序,但我想知道计算机(运行应用程序)是否已打开,来自另一台远程计算机.

有没有办法做到这一点?我正在考虑使用UDP数据包,使用计数器发送某种保持活动状态.防爆.客户端每隔5分钟向服务器发送一个UDP"keep-alive"数据包.提前致谢!

Jan*_*cke 21

如果您的目标实际上是测试特定服务是否在远程计算机上运行,​​则可以测试是否可以访问此服务应运行的网络端口.例:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.connect(('hostname', 22))
    print "Port 22 reachable"
except socket.error as e:
    print "Error on connect: %s" % e
s.close()
Run Code Online (Sandbox Code Playgroud)

如果要测试的应用程序设计为在例如端口1337上运行,则检查此端口.


小智 0

看来您正在寻找的是网络/主机监控工具,或者只是一个简单的心跳监视器。根据具体情况(例如要监视的主机数量),Nagios、Munin 或Heartbeat之类的东西可能会有所帮助。