#!/usr/bin/python3
from ping3 import ping, verbose_ping
import socket
import sys
import pysftp
import tkinter as tk
from paramiko.ssh_exception import AuthenticationException
host = '192.168.19.3'
port = 22
def net_connection_err():
label = tk.Label(root)
btn1 = tk.Button(root, command=root.destroy)
btn1["text"] = "确定"
root.title('提示')
label["text"] = '这个电脑没有网络,请检查!'
label.grid(column=0, row=1, padx=10, pady=2)
btn1.grid(column=0, row=2, padx=10, pady=2)
# root.geometry("250x100") #为了居中,最好不要设定宽度和高度吧
root.mainloop()
sys.exit()
root = tk.Tk()
try:
latency = ping('192.168.2.2') # 获取延迟时间,单位为微秒
if latency is None or latency == False :
net_connection_err()
except Exception as err:
net_connection_err()
print(latency)
#得到本地ip
def get_local_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('192.168.2.2', 80))
local_ip = s.getsockname()[0]
s.close()
return local_ip
local_ip = "本机 ip "+get_local_ip()
def to_ftp_net_error():
info_label0 = tk.Label(root, text=local_ip)
info_label0.grid(column=0, row=1, padx=2, pady=2)
label = tk.Label(root)
btn1 = tk.Button(root, command=root.destroy)
btn1["text"] = "确定"
label.grid(column=0, row=2, padx=10, pady=2)
btn1.grid(column=0, row=3, padx=10, pady=2)
root.title('测试FTP网络连通')
#root.geometry("250x100") #不能设宽度,才能居中
root.mainloop()
sys.exit()
def to_ftp_net_ok():
info_label0 = tk.Label(root, text=local_ip)
info_label0.grid(column=0, row=1, padx=2, pady=2)
label = tk.Label(root)
btn1 = tk.Button(root, command=root.destroy)
btn1["text"] = "确定"
label["text"] = '到FTP服务器的网络是通的'
label.grid(column=0, row=2, padx=10, pady=2)
btn1.grid(column=0, row=3, padx=10, pady=2)
root.title('测试FTP网络连通')
#root.geometry("250x100") #不能设宽度,才能居中
root.mainloop()
sys.exit()
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(4) # 超时为4秒
try:
s.connect((host, port))
msg = s.recv(64)
# s.connect(('192.168.2.134', 22))
# 接收小于 1024 字节的数据
except TimeoutError as err:
to_ftp_net_error()
except Exception as err:
to_ftp_net_error()
else:
to_ftp_net_ok()
finally:
s.close()