Python中检测网络通断

admin Python评论373字数 605阅读模式

要在Python中检测网络通断,可以使用socket库来实现。以下是一个简单的代码示例:

import socket

def check_network_connection():
    try:
        # 创建socket对象
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 设置超时时间
        s.settimeout(5)
        # 尝试连接一个公共的IP地址(如Google的DNS服务器)
        s.connect(("8.8.8.8", 53))
        # 连接成功,网络通畅
        return True
    except socket.error as e:
        # 连接失败,网络断开
        return False
    finally:
        # 关闭socket连接
        s.close()

# 调用函数检测网络连接状态
if check_network_connection():
    print("网络通畅")
else:
    print("网络断开")

在上述代码中,我们创建了一个socket对象,并尝试连接一个公共的IP地址(8.8.8.8),它是Google的DNS服务器之一。若连接成功,则表示网络通畅;若连接失败,则表示网络断开。

需要注意的是,我们通过设置超时时间为5秒来避免等待时间过长。你也可以根据自己的需求对超时时间进行调整。另外,这只是一个简单的网络通断检测方法,仅仅验证了是否能够成功地连接到指定的IP地址。在实际应用中,还可以根据需求检测更多的网络状态信息。

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
广告也精彩
admin
  • 本文由 发表于 2023年12月20日 20:14:33
  • 转载请务必保留本文链接:https://www.58pxe.com/11277.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: