2016-08-27 1 views
0

J'ai deux ordinateurs, un serveur (192.168.173.1) et un client (192.168.173.2) connectés via un câble Ethernet et configurés avec des ips statiques. D'un autre côté, ils sont tous les deux connectés au même réseau wifi (ip dynamique).C# PingReply expire en cas de connexion simultanée au wifi et à l'Ethernet

Lorsque je fais un ping sur le client à partir du serveur en utilisant la ligne de commande ("ping 192.168.173.2"), j'obtiens une réponse instantanée. Mais quand le code pings en utilisant le code ci-dessous

Ping pinger = new Ping(); 
PingReply reply = pinger.Send(ConfigurationManager.AppSettings["ClientTablet.Ip"]); 
     return (reply.Status == IPStatus.Success); 

je reçois TimeOut comme reply.Status.

Si je déconnecte le serveur du réseau Wi-Fi et relance le C# pinger. Je reçois une réponse appropriée. Pourquoi avoir le wifi sur ce comportement?

+0

La classe 'Ping' et la commande' ping' que vous utilisez pourraient toutes les deux "choisir" l'adresse IP locale à lier (par exemple 'Socket.Bind()'). La classe 'ping' peut choisir l'ip local sans fil, et la commande' ping' peut choisir l'ip ethernet. Est-ce que la classe 'Ping' peut être configurée, en fonction de l'IP locale à laquelle elle se lie (autres constructeurs/méthodes/paramètres)? – DWright

Répondre