当前位置: 首页 > article >正文

开发小工具:ping地址

开发小工具:ping地址


import socket

def tcp_port_scan(ip,port):
    #创建套接字
    sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #设置超时
    sock.settimeout(0.2)
    try:
        #发请求
        result = sock.connect_ex((ip,port))
        if result == 0:
            print(f'{ip}--{port}接口连接成功')
            res=True
        else:
            print(f'{ip}--{port}接口连接失败')
            res=False
    except:
        print(f'{ip}--{port}异常连接了……')
    sock.close()
    return res#上面res没有return,这里给一个总的返回


#导入图形界面
from PySide6.QtWidgets import QApplication
from PySide6.QtUiTools import QUiLoader #加载
from PySide6.QtCore import QFile
import time

#1.创建一个应用对象
app = QApplication([])
#2.读取qt文件xxx.ui
qfile = QFile('testScan.ui')
#3.在内存里打开xxx.ui
#qfile.open(QFile.ReadOnly)#readonly
qfile.open(QFile.ReadOnly)
#4.内存文件加载成ui对象
ui = QUiLoader().load(qfile)
#5.关闭文件
qfile.close()#括号别忘了,找了半天错误

#前端ui页面 和后端接口函数关联起来
def click():
	#print("按钮被点击了")  # 添加调试打印,验证函数是否被点击事件调用
    #1.页面获取ip
    ip = ui.ip_2.text()# ui.可能不弹出ip_2,直接写就行了
    #2.页面获取端口
    port = int(ui.port.text())
    startTime=time.time()
    #3.调用后端扫描ip函数方法,具体触发动作
    res=tcp_port_scan(ip,port)
    endTime=time.time()
    if res:
        info= f'{ip}--{port}接口连接成功'
    else:
        info= f'{ip}--{port}接口连接失败~~~'
    #4.显示扫描结果
    ui.textBrowser.append(f'本次扫描耗时:{endTime-startTime}s\n IP地址:{ip}:{port}\n{info}')
#点击按钮,开始关联事件
ui.pushButton.clicked.connect(click)#此步骤要放在函数click()外面,不然调按钮会失败
ui.show() #显示应用
#app.exec_() #应用运行
app.exec()#新版本这样显示了




# if __name__ == '__main__':
#     tcp_port_scan('10.10.25.120',18081)

在这里插入图片描述
在这里插入图片描述

def click():
    #1.页面获取ip
    ip = ui.ip_2.text()# ui.可能不弹出ip_2,直接写就行了

ip = ui.ip_2.text()# ui.可能不弹出ip_2,直接写就行了;ip_2从哪里来的?
在这里插入图片描述
无代码设置,清除显示结果数据:
在这里插入图片描述


http://www.kler.cn/a/460275.html

相关文章:

  • 算法——回溯模式
  • 重装操作系统后 Oracle 11g 数据库数据还原
  • Nacos服务注册和发现
  • 【现代摄像头作为一种视频输入摄像头】
  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析
  • CSS 图片廊:网页设计的艺术与技巧
  • django StreamingHttpResponse fetchEventSource实现前后端流试返回数据并接收数据的完整详细过程
  • PHP框架+gatewayworker实现在线1对1聊天--mysql数据库(3)
  • Spring boot + Hibernate + MySQL实现用户管理示例
  • logback之自定义过滤器
  • 【AndroidAPP】权限被拒绝:[android.permission.READ_EXTERNAL_STORAGE],USB设备访问权限系统报错
  • C语言一维数组与指针运算
  • 《计算机组成及汇编语言原理》阅读笔记:p133-p159
  • WPF的下拉复选框多选,数据来源数据库的表
  • 【人工智能机器学习基础篇】——深入详解深度学习之神经网络基础:理解前馈神经网络与反向传播算法
  • 医疗数仓配置Flume
  • 使用maven-mvnd替换maven大大提升编译打包速度
  • sublime 文件高亮设置
  • vim编辑器实用设置
  • VirtualBox新版本报错 Invalid installation directory解决方案
  • C#封送类
  • Tesseract-OCR 文字识别
  • 【Spring】Spring DI(依赖注入)详解—自动装配—byType实现原理
  • 智元与汇川加码,机器人如何利好电机市场?
  • Sigrity System SI SerialLink模式进行HDMI2协议仿真分析操作指导-TP1
  • AI安全的挑战:如何让人工智能变得更加可信