Windows下实时检测计算机联网状态

我的程序采用Windows的UDP发送数据API发送大量的数据信息,做了一个发送流量的统计,统计的依据就是sendto函数的返回值(即:本次发送的数据长度),如果该值大于0,则将发送的数据长度做一个一秒内的累加,一秒做一次发送流量统计。但是问题出现了,当将本机的网络全部断开后,程序统计到的发送流量仍是大于0 的数,跟没断开网络时的统计是一样的,原因就在于sendto函数在网络断开时,返回值仍然是大于0 的数,也就是当网络断开时,UDP发送的程序根本就不知道网络已经断开,所以本次要做的就是做一个及时检测网络是否连接的程序,在网络断开及时停止发送流量的统计。
话不多说,上程序

DWORD flags;
BOOL bNetAlive = IsNetworkAlive(&flags);

需要包含的头文件有:
#include <wininet.h>
#include “sensapi.h”
用到的windows库有SensApi.dll,程序需要时进行配置即可,若机器上没有该库直接从网上下载一下即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值