欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

test_ip_port_connection 有大用

#!/usr/bin/python3
from ping3 import ping, verbose_ping
import socket
import tkinter as tk


# host = 'aaa.bbb.com'
# port = 22

def check_ip_port(ip, port):
root1 = tk.Tk()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(4) # 超时为4
   try:
s.connect((ip, port))
# msg = s.recv(1024)
   # s.connect(('10.54.2.134', 22))
   # 接收小于 1024 字节的数据
   except TimeoutError as err:
print(f"类型: {type(err).__name__}")
print(f"信息: {err}")
info_label0 = tk.Label(root1, text='ip端口不通')
except Exception as err:
print(f"类型: {type(err).__name__}")
print(f"信息: {err}")
info_label0 = tk.Label(root1, text='ip端口不通')
else:
info_label0 = tk.Label(root1, text='ip端口是通的')
finally:
info_label0.grid(column=0, row=1, padx=2, pady=2)
btn1 = tk.Button(root1, command=root1.destroy)
btn1.grid(column=0, row=2, padx=2, pady=2)
btn1["text"] = "确定"
       root1.title('测试ip端口连通性')
s.close()

def ip_port_connection():
ip = ip_entry.get()
port = prot_entry.get()
port = int(port)
#root.destroy()
   check_ip_port(ip, port)





root = tk.Tk()
# 创建第一个输入框
ip_label = tk.Label(root, text="ip:")
ip_label.grid(column=0,row=0,padx=2,pady=2)
ip_entry = tk.Entry(root,bd=1,relief=tk.SOLID)
ip_entry.grid(column=1,row=0,columnspan=2,padx=2,pady=2)

# 创建第二个输入框
prot_label = tk.Label(root, text="端口:")
prot_label.grid(column=0,row=1,padx=2,pady=2)
prot_entry = tk.Entry(root,bd=1,relief=tk.SOLID)
prot_entry.grid(column=1,row=1,columnspan=2,padx=2,pady=2)

# 创建一个按钮,并绑定事件处理函数
button = tk.Button(root, text="确定", command=ip_port_connection)
button.grid(column=1,row=2,columnspan=2,padx=2,pady=2)
root.title('测试ip端口连通性')

# 运行窗口的主循环
root.mainloop()



普通分类: