using System;
using System.Collections;
using System.Net;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class CheckNet : MonoBehaviour
{
private string str;
public TMP_Text debugTxt;
[DllImport("wininet")]
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
void Start()
{
StartCoroutine("delayPrint");
}
IEnumerator delayPrint()
{
yield return new WaitForSeconds(1f);
if (Application.internetReachability == NetworkReachability.NotReachable)
{
Debug.Log("Unity自带判断,没有联网");
ShowLog("Unity自带判断,没有联网");
}
else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
{
Debug.Log("Unity自带,连接的移动网络");
ShowLog("Unity自带,连接的移动网络");
}
else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
{
Debug.Log("Unity自带,连接的wifi");
ShowLog("Unity自带,连接的wifi");
}
else
{
Debug.Log("Unity自带判断,已经联网");
ShowLog("Unity自带判断,已经联网");
}
if (IsConnectedInternet())
{
Debug.Log("C#中判断,联网");
ShowLog("C#中判断,联网");
}
else
{
Debug.Log("C#中判断,没有联网");
ShowLog("C#中判断,没有联网");
}
//StartCoroutine("delayPrint");
}
private void ShowLog(string strtemp)
{
str += "\n";
str += strtemp;
debugTxt.text = str;
}
/// <summary>
/// C#判断是否联网
/// </summary>
/// <returns></returns>
public bool IsConnectedInternet()
{
int i = 0;
if (InternetGetConnectedState(out i, 0))
return true;
else
return false;
}
}
unity中判断是否联网,判断网络状态的两种方式
最新推荐文章于 2024-08-01 10:38:02 发布