C#检测本地网络状态

using System;
using System.Runtime.InteropServices;

public static class NetTool
{
    [Flags]
    private enum ConnectionState
    {
        INTERNET_CONNECTION_MODEM = 0x1,
        INTERNET_CONNECTION_LAN = 0x2,
        INTERNET_CONNECTION_PROXY = 0x4,
        INTERNET_RAS_INSTALLED = 0x10,
        INTERNET_CONNECTION_OFFLINE = 0x20,
        INTERNET_CONNECTION_CONFIGURED = 0x40
     }

    [DllImport("wininet.dll", CharSet = CharSet.Auto)]
    static extern bool InternetGetConnectedState(ref ConnectionState lpdwFlags, int dwReserved);

    public static bool IsConnectedToInternet()
    {
        ConnectionState description = 0;
        bool conn = InternetGetConnectedState(ref description, 0);
        return conn;
    }
}        
时间: 2024-10-17 01:02:53

C#检测本地网络状态的相关文章

使用InternetGetConnectedState判断本地网络状态(C#举例)

函数原型:函数InternetGetConnectedState返回本地系统的网络连接状态. 语法: BOOL InternetGetConnectedState( __out LPDWORD lpdwFlags, __in DWORD dwReserved ); 参数: lpdwFlags[out] 指向一个变量,该变量接收连接描述内容.该参数在函数返回FLASE时仍可以返回一个有效的标记.该参数可以为下列值的一个或多个 值 含义 INTERNET_CONNECTION_CONFIGURED

[iOS 多线程 & 网络 - 2.8] - 检测网络状态

A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态https://developer.apple.com/library/ios/samplecode/Reachability

IOS网络——检测网络状态:Reachability

1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. 2.在你的应用尝试通过网络获取数据之前,你需要知道当前设备是否知道连接上了网络,甚至有时候你可能还需要知道当前网路是由wifi还是由移动蜂窝网络提供的. 3.“在网络访问失败的时候,应用没有做出适当的提示”是苹果的iOS审核团队拒绝一个应用的常见理由.苹果要求你必须先检测网络连接状态,当网络不可用的时候以某种方式告知用户

iOS网络-AFNetworking检测网络状态

可以使用AFN框架中的AFNetworkReachabilityManager来监听网络状态的改变,也可以利用苹果提供的Reachability来监听.建议在开发中直接使用AFN框架处理. 示例代码如下: -(void)afn { //1.创建网络状态监测管理者 AFNetworkReachabilityManager *manger = [AFNetworkReachabilityManager sharedManager]; //2.监听改变 [manger setReachabilityS

iOS 检测网络状态

1.为什么要检测网络状态? 1.1 让用户知道自己的网络状态,防止用户埋怨"这个应用太垃圾,获取数据那么慢" 1.2 根据用户的网络状态,智能处理,提升用户体验 例如某些手机浏览器,检测到用户网络是2G/3G时,会自动切换为无图模式 2.手动触发 2.1 首先下载苹果的示例程序Reachability, 取得示例程序里的Reachability.h和Reachability.m, 添加到自己项目里 代码如下 - (void)touchesBegan:(NSSet *)touches w

iOS开发-Reachability实时检测Wifi,2G/3G/4G/网络状态

最近遇到一个功能就是根据用户当前的网络状,用户未联网需要提示一下,如果是Wifi可以推荐一些图片新闻,如果是3G模式设置为无图的模式,获取网络状态比较简单,毕竟中国现在的流量还是一个比较贵的状态,哪天用户发现App消耗流量过多说不定就干掉了App.不过苹果的Reachability都解决了以上问题,使用起来也比较方便,具体的稍微简单分析一下. Reachability.h头文件代码: #import <Foundation/Foundation.h> #import <SystemCon

QT 使用 QTcpSocket来检测 ip 设备的网络状态

使用QT中 QTcpSocket来检测设备的网络状态: 函数返回true,设备网络状态正常,返回false,设备网络异常. bool TcpIpSocket::sendATcpSocketToIp(QString ip){     m_ipAdress = ip;     abort();     connectToHost(m_ipAdress, port);     //等待timeout时间,如果仍然不通,则异常     return waitForConnected(timeout);

Android检测网络状态,判断当前网络是否可用

用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 检测当前网络是否可用,代码如下: /** * 检测当的网络(WLAN.3G/2G)状态 * @param context Context * @return true 表示网络可用 */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager

Reachability检测网络状态

在现在的项目开发当中,监测网络是否正常非常有必要的.Reachability检测网络可以检测WiFi 3G 无线局域网 使用Reachability 下载Reachability,将Reachability添加到项目当中,在要检测网的类当中添加 #import <Reachability.h> //  开启网络状态的监听 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(reachabilityCh