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 !

Les articles les plus commentés

Laissez un message »