Unity中实时检测当前手机网络,网络切换时给用户一个提示

前段时间测试的时候发现手机网络发生变化时会与服务器的连接断开,前后端都有心跳机制,会检测到掉线,但是如果心跳过长的话掉线两边都不知道了就,所以我们要实时监控客户端的网络状态,一旦用户切换网络,就自动为用户重连服务器,我先吧脚本放在下面,获取各种网络状态的方法:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Intel : MonoBehaviour {
    public Text ShowState;
    int Network = 0;
    public GameObject Tips;
    void Start()
    {
        //开始检测网络
        StartCoroutine("Refresh");
    }
    IEnumerator Refresh()
    {
        int ShowNum=0;
        while (true)
        {      
            yield return new WaitForSeconds(1);
            //无网络时
            if (Application.internetReachability == NetworkReachability.NotReachable)
            {
                Network = 0;
                ShowState.text = "当前没有网络";
                Debug.Log("当前没有网络");
            }
            //WiFi网络时
            if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
            {
                Network = 1;
                ShowState.text = "当前是WiFi网络";
                Debug.Log("当前是WiFi网络");
            }
            //手机流量时
            if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
            {
                Network = 2;
                ShowState.text = "当前手机网络";
                Debug.Log("当前是手机网络");
            }
            if (Network != ShowNum)
            {
                ShowNum = Network;
                Tips.SetActive(true);
            }
        }
    }
    public void Close()
    {
        Tips.SetActive(false);
    }
}

我没有写在Update里面,因为考虑到Update里面可能会比较消耗性能,在一个说Update里面刷新速度较快,不适合做这个方法,脚本写完就可以基本达到实时检测用户网络状态,1秒的间隔,当然可以吧这个间隔调的大一点,按个人喜好吧,当然这里面还会有坑,你仔细研究下就会发现,这里我不再提。


脚本写完GoodLuck!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值