Unity中实时检测当前手机网络,网络切换时给用户一个提示
来源:互联网 发布:游族网络 大皇帝 手游 编辑:程序博客网 时间:2024/05/16 09:23
前段时间测试的时候发现手机网络发生变化时会与服务器的连接断开,前后端都有心跳机制,会检测到掉线,但是如果心跳过长的话掉线两边都不知道了就,所以我们要实时监控客户端的网络状态,一旦用户切换网络,就自动为用户重连服务器,我先吧脚本放在下面,获取各种网络状态的方法:
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 0
- Unity中实时检测当前手机网络,网络切换时给用户一个提示
- 用于检测当前手机网络是否可用
- 用于检测当前手机网络是否可用
- 检测手机当前是否有网络
- C#检测当前用户网络是否连接
- 实时检测网络状态
- 网络实时检测
- 在AppDelegate中检测当前网络状态
- unity中如何检测网络状态
- 检测当前网络状态
- Android中用于检测当前手机网络是否可用
- 游戏开发中切换网络时怎么提高用户体验
- 游戏开发中切换网络时怎么提高用户体验
- 浅谈社交网络中垃圾用户检测
- iOS 实时检测网络状态
- android 实时检测网络状态
- Unity 判断当前网络类型
- Unity 获取当前网络状态
- HDU2019-数列有序!
- Android面试题目之常见的填空题和简答题
- Linux 中ps 和 top命令详解
- shell编程--运算符
- Patrick and Shopping
- Unity中实时检测当前手机网络,网络切换时给用户一个提示
- java网络编程
- super关键字,super关键字和this关键字的区别
- HDU
- eclipse 下导入外部jar包的3种方式
- HashSet元素不重复底层比较
- Python绘制图标基础
- 面试---算法排序基础(1)
- JDBC之使用Spring提供的JdbcTemplate进行数据库操作