基于Python实现对服务器监测,监测异常是,弹窗和声音报警,用户点击弹窗后,报警停止
时间: 2024-03-12 21:44:28 浏览: 193
可以使用Python的`socket`库实现对服务器的监测,结合`tkinter`库和`winsound`库实现异常报警。以下是一个示例代码:
```python
import socket
import tkinter as tk
import winsound
def check_server():
# 服务器地址和端口
server_address = ('127.0.0.1', 80)
# 创建TCP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
# 连接服务器
sock.connect(server_address)
# 发送请求
sock.sendall(b'GET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n')
# 接收响应
data = sock.recv(1024)
# 判断响应状态码是否正常
if b'200 OK' not in data:
raise Exception("Server Error")
except Exception as e:
# 播放声音
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
# 创建弹窗
top = tk.Toplevel()
top.title("报警")
top.geometry("200x100")
tk.Label(top, text=f"警报!服务器异常:{e}").pack(pady=20)
# 创建停止按钮
stop_button = tk.Button(top, text="停止报警", command=top.destroy)
stop_button.pack(pady=10)
finally:
sock.close()
# 创建主窗口
root = tk.Tk()
root.geometry("200x200")
# 创建监测按钮
button = tk.Button(root, text="开始监测", command=check_server)
button.pack(pady=50)
# 运行主循环
root.mainloop()
```
在这个代码中,我们定义了一个名为`check_server`的函数,当点击按钮时会调用这个函数来监测服务器是否正常。如果服务器异常,则会弹出一个带有声音报警的弹窗,展示异常信息,并提供停止报警的按钮。如果服务器正常,则不会有任何提示。
运行这个代码,点击按钮即可开始监测服务器。如果服务器异常,则会弹出带有声音报警的弹窗,点击停止按钮即可停止报警。
阅读全文