我有一个带有IP地址和端口的远程服务器。我可以使用标准命令窗口成功连接到它。使用命令窗口时,我可以看到通过窗口的数据流,但是如果数据流停止,我就无法收到通知。我想使用Python来完成相同的任务,增加的功能是在数据流停止时提醒我。我附上了以下我一直在使用的代码,是否有人能够帮助我完成这个过程?
import sys
import telnetlib
import easygui
HOST = "###.###.###.###, 25"
tn = telnetlib.Telnet(HOST)
print tn.read_all()
tn.write("exit\n")
if data =="":
easygui.msgbox("There's no data!!", title="Bummer Box")
答案 0 :(得分:2)
第一步是能够连接到主机;你还没有提到它是否有效。我相信tn.read_all会继续阅读,直到有EOF。如果您知道数据应该是什么样子,则可能需要tn.expect
,如果不知道,可能需要tn.read_lazy
。
下一步是能够定期检查连接,例如每分钟或每十秒。 threading.Timer可以帮助您轻松安排任务。
第三步是通知。如果检查数据成功,则只需静默返回。只有在缺少数据时,您才会调用弹出消息框,发送电子邮件或其他任何内容。