SimplePing для MonoTouch теперь доступен здесь.
https://github.com/theonlylawislove/MonoTouch.SimplePing
Просто добавьте это git-репо как подмодуль в свой проект, затем «Добавить существующий проект»и добавьте MonoTouch.SimplePing к вашему проекту.Существует один небольшой вспомогательный класс, который немного облегчит работу в проекте «MonoTouch.SimplePing.Test» под названием «SimplePingHelper».
Затем используйте следующий код.
SimplePingHelper.Ping (
"192.168.5.77",
1000,
() => {
NSThread.MainThread.BeginInvokeOnMainThread (new NSAction (() => {
var alertView = new UIAlertView ("Response", "Success", null, null, new string[] { "Ok" });
alertView.Show ();
}));
},
() => {
NSThread.MainThread.BeginInvokeOnMainThread (new NSAction (() => {
var alertView = new UIAlertView ("Response", "Failure", null, null, new string[] { "Ok" });
alertView.Show ();
}));
});
ThisРешение работает в симуляторе и на каждом устройстве, которое я тестировал.
Не используйте хаки "RawSocket", найденные в Интернете.Он изобилует ошибками с асинхронным кодом и проблемами с ним, работающими на некоторых устройствах, а не на других.Выдернув свои волосы, я решил портировать этот проект SimplePing, поскольку обнаружил, что он действительно работает.
Наслаждайтесь!