Détection de réseau Internet avec Unity3D

Alexandre Lacoche 27 janvier 2012 0
Détection de réseau Internet avec Unity3D

Dans la version actuelle d’Unity3D (3.4), il existe un moyen de récupérer le statut d’accessibilité à Internet : Debug.Log(Application.internetReachability);

Sauf que cette méthode ne fonctionne pas correctement ! Voici une solution en C#.

Il faut donc passer par une autre solution : tester un « ping » vers un serveur joignable. Si le « ping » est un succès, alors on peut considérer que l’utilisateur possède une connexion active.

Dans notre exemple, nous réalisons un « ping » vers l’ip de Google (209.85.229.94).

private string connectionStatus;
function CheckConnection(){
	var timeout : float = 20f;
	var waitUntil:float = Time.realtimeSinceStartup + timeout;
	var ping : Ping= new Ping("209.85.229.94");
	connectionStatus= "Checking network...";
	while (Time.realtimeSinceStartup < waitUntil){
		if (ping.isDone){
		    connectionStatus= "Network available";
		    return ;
		}
	}
    connectionStatus= "No network";
}

Ici, le résultat se fait sous forme de chaîne de caractère. A vous de l’adapter à votre besoin !

Bon’dev !

Laissez un message »