//将此脚本附加到GameObject上
using UnityEngine;
public class Example : MonoBehaviour
{
string m_ReachabilityText;
void Update()
{
if (Application.internetReachability == NetworkReachability.NotReachable)//没有联网
{
m_ReachabilityText = “Not Reachable.”;
}
else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)//连接的移动网络
{
m_ReachabilityText = “Reachable via carrier data network.”;
}
else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)//连接的Wifi
{
m_ReachabilityText = “Reachable via Local Area Network.”;
}
}
}
最后发布成exe的时候发现这个当前网络状态的检测不起作用(网上查了很多资料也没找到原因,可能这个只有在编辑状态下运行有用吧!之后找到了一个折中的办法,就是用WWW来实时检测)
代码如下:
public IEnumerator UserDataDownData()
{
string urlPath = “这一块是我自己的服务器请求地址”;
WWW wwwlogin = new WWW(urlPath);
yield return wwwlogin;
try
{
if (wwwlogin.text != null)
{
//这一整块应该是你自己的逻辑内容
string JsonData = wwwlogin.text;
//反序列化
CodeDataUser userdata = JsonUtility.FromJson<CodeDataUser>(JsonData);
foreach (var userinfo in userdata.data)
{
if (userinfo.palmprints != "")
{
UserPalmInfo.Add(userinfo.palmprints);
DownUserPalmInfo.Add(userinfo.mobile_phone,UserPalmInfo);
UnityEngine.Debug.Log(userinfo.mobile_phone + ":" + userinfo.palmprints);
}
else
{
DownUserPhone.Add(userinfo.mobile_phone);
}
}
if (NetworkMessage!="")//设置了开关进行网络连接判断
{
gameuimanager.NetworkconnectionstateText.color = Color.green;
gameuimanager.StartCoroutine(gameuimanager.NetworkConnection("您可以进行注册了!!!"));
}
SaveUserData(DownUserPalmInfo);
}
else
{
UnityEngine.Debug.Log(wwwlogin.error);
}
}
catch (Exception e)
{
//服务器或网络出问题时的提示
if (e.ToString().Contains("JSON"))//由于我服务器请求返回的是Json文件,所以如果服务器有问题报的错会包含JSON关键字,这里我利用报错提示去检测服务器连接是否成功
{
gameuimanager.NetworkPanel.SetActive(true);
NetworkMessage = "服务器正在维护暂时无法注册,请稍后再试";
gameuimanager.StartCoroutine(gameuimanager.NetworkConnection("服务器正在维护暂时无法注册,请稍后再试"));
}
else if (e.ToString().Contains("reference"))//同上也是利用报错提示去检测网络连接是否成功
{
gameuimanager.NetworkPanel.SetActive(true);
NetworkMessage = "网络未连接,请稍后再试";
gameuimanager.StartCoroutine(gameuimanager.NetworkConnection(NetworkMessage));
}
}
}