Próbuję napisać prostą aplikację IoT UWP, która ma działać na Windows 10 IoT Core na Raspberry Pi.
Aplikacja musi przetestować, czy w sieci lokalnej działa inne urządzenie. Wszystkie aplikacje wiedzą o tym innym urządzeniu jest jego adres IP.
Widzę z innych pytań SO, że Ping nie jest obsługiwany, ponieważ ICMP jest nie obsługiwane w WinRT. Zakładam to również w przypadku UWP?
Myślę, że mógłbym utwórz gniazdo i spróbuj połączyć się na przykład z portem 80 i jeśli nie zostanie odebrany błąd przekroczenia limitu czasu, oznacza to, że urządzenie jest dostępne. Jednak ten „hack” wydaje się trochę chaotyczny i nie jestem pewien, czy będzie wystarczająco solidny, aby na nim polegać.
Jakieś inne pomysły na kod C # UWP, który można wykorzystać do testowania, czy urządzenie jest dostępne i żyje w sieci lokalnej na podstawie adresu IP?
Odpowiedzi:
1 dla odpowiedzi № 1Masz rację, ICMP nadal nie jest obsługiwany w UWP. Ale zamiast tego możesz użyć tego: https://github.com/christophwille/winrt-vasily (jest to rodzaj tego, co chciałeś zrobić, ale już zrobiłeś)