Yesudasan Moses Ответов: 2

Как отправлять ping-пакеты с помощью библиотеки jabber-net


Привет,

Я разрабатываю клиентское приложение xmpp. Мне нужно отправить пакеты ping iq на сервер xmpp, чтобы убедиться, что сервер все еще жив. Как я могу отправить его через библиотеку jabber-net ?
спасибо

Обновление: это не ICMP-пинг. Его XEP-0199 http://xmpp.org/extensions/xep-0199.html[^]

2 Ответов

Рейтинг:
2

Anas.Bouarfa

это очень важно, чтобы положить IQTracker.На IQ метод внутри try/catch поскольку он ожидает ответа в течение установленного вами таймаута, если он не получает его, то запускает исключение (а это происходит очень часто), самое важное-отправить IQ, вы можете использовать IQHandler для получения ответа IQ .

const int myTimeOut = 500;
//create your IQ to send
jabber.protocol.client.IQ MyIQ = new jabber.protocol.client.IQ(new XmlDocument());

//allows you to send the IQ and wait for the response
IQTracker myIQTracker= new IQTracker(myJabberClient);
            try
            {
                jabber.protocol.client.IQ iq = myIQTracker.IQ(MyIQ, myTimeOut );
            }
            catch(Exception e)
            {
//Put whatever exception you want
            }
            done.Set();


Рейтинг:
0

Sergey Alexandrovich Kryukov

Пинг совершенно не связан с Jabber (XMPP). Он работает с протоколом ICMP, который обычно должен поддерживаться всеми хостами в сети. Пожалуйста смотрите:
http://en.wikipedia.org/wiki/Ping_%28networking_utility%29[^],
http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol[^].

Вы можете использовать класс System.Net.NetworkInformation.Ping:
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping%28v=против 110%29.aspx[^].

—СА


Yesudasan Moses

Привет, это XMPP Ping... XEP-0199 пожалуйста, проверьте обновленный вопрос..