您当前的位置: 首页 >  网络

幻世界

暂无认证

  • 0浏览

    0关注

    237博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity判断本机是否联网且是否有网络信号(是否联网、是否wifi)

幻世界 发布时间:2019-04-08 10:24:50 ,浏览量:0

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群

一.判断当前网络类型 
 //
    // 摘要:
    //     Describes network reachability options.描述网络可达性选项。
    public enum NetworkReachability
    {
        //
        // 摘要:
        //     Network is not reachable.网络不可用。
        NotReachable = 0,
        //
        // 摘要:
        //     Network is reachable via carrier data network.网络可通过运营商数据网接入。
        ReachableViaCarrierDataNetwork = 1,
        //
        // 摘要:
        //     Network is reachable via WiFi or cable.网络可通过WiFi或网线连接。
        ReachableViaLocalAreaNetwork = 2
    }
二.判断当前网络连接状态
 //判断当前是否联网
    private void PingNetAddress()
    {
        try
        {
            System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
            PingReply pr = ping.Send("www.baidu.com", 3000);
            if (pr.Status == IPStatus.Success)
            {
                Debug.Log("网络连接信号正常") ;
            }
            else
            {
                Debug.Log("网络连接无信号");
            }
        }
        catch (Exception e)
        {
            Debug.Log("网络连接信号异常"+e.Message);
        }
    }
三.判断在当前网络环境下网络是否有信号(PC端测试要要关闭ipv6环境支持)
// Use this for initialization
	void Start () {
        //当网络不可用时
        if (Application.internetReachability == NetworkReachability.NotReachable)
        {
            Debug.Log("无网络——环境");
        }
        //当用户使用WiFi时
        if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
        {
            Debug.Log("wifi/网线——环境");
        }
        //当用户使用移动网络时
        if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
        {
            Debug.Log("运营商数据网络——环境");
        }
        PingNetAddress();
    }
    //判断当前是否联网
    private void PingNetAddress()
    {
        try
        {
            System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
            PingReply pr = ping.Send("www.baidu.com", 3000);
            if (pr.Status == IPStatus.Success)
            {
                Debug.Log("网络连接信号正常") ;
            }
            else
            {
                Debug.Log("网络连接无信号");
            }
        }
        catch (Exception e)
        {
            Debug.Log("网络连接信号异常"+e.Message);
        }
    }
四.测试

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群

关注
打赏
1660704426
查看更多评论
立即登录/注册

微信扫码登录

0.0381s