public class PingManager
extends org.jivesoftware.smack.Manager
The default server ping interval is 30 minutes and can be modified with
setDefaultPingInterval(int) and setPingInterval(int).
| Modifier and Type | Method and Description |
|---|---|
protected void |
finalize() |
static PingManager |
getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
Retrieves a
PingManager for the specified XMPPConnection, creating one if it doesn't already
exist. |
int |
getPingInterval()
Get the current ping interval.
|
boolean |
isPingSupported(java.lang.String jid)
Query the specified entity to see if it supports the Ping protocol (XEP-0199)
|
boolean |
ping(java.lang.String jid)
Same as calling
ping(String, long) with the defaultpacket reply
timeout. |
boolean |
ping(java.lang.String jid,
long pingTimeout)
Pings the given jid.
|
boolean |
pingMyServer()
Pings the server.
|
boolean |
pingMyServer(boolean notifyListeners)
Pings the server.
|
boolean |
pingMyServer(boolean notifyListeners,
long pingTimeout)
Pings the server.
|
void |
pingServerIfNecessary()
Ping the server if deemed necessary because automatic server pings are
enabled (
setPingInterval(int)) and the ping interval has expired. |
void |
registerPingFailedListener(PingFailedListener listener)
Register a new PingFailedListener
|
static void |
setDefaultPingInterval(int interval)
Set the default ping interval which will be used for new connections.
|
void |
setPingInterval(int pingInterval)
Set the interval in seconds between a automated server ping is send.
|
void |
unregisterPingFailedListener(PingFailedListener listener)
Unregister a PingFailedListener
|
public static PingManager getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
PingManager for the specified XMPPConnection, creating one if it doesn't already
exist.connection - The connection the manager is attached to.public static void setDefaultPingInterval(int interval)
interval - the interval in secondspublic boolean ping(java.lang.String jid,
long pingTimeout)
throws org.jivesoftware.smack.SmackException.NotConnectedException,
org.jivesoftware.smack.SmackException.NoResponseException
Use isPingSupported(String) to determine if XMPP Ping is supported
by the entity.
jid - The id of the entity the ping is being sent topingTimeout - The time to wait for a reply in millisecondsorg.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the jid.org.jivesoftware.smack.SmackException.NotConnectedExceptionpublic boolean ping(java.lang.String jid)
throws org.jivesoftware.smack.SmackException.NotConnectedException,
org.jivesoftware.smack.SmackException.NoResponseException
ping(String, long) with the defaultpacket reply
timeout.jid - The id of the entity the ping is being sent toorg.jivesoftware.smack.SmackException.NotConnectedExceptionorg.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the jid.public boolean isPingSupported(java.lang.String jid)
throws org.jivesoftware.smack.SmackException.NoResponseException,
org.jivesoftware.smack.XMPPException.XMPPErrorException,
org.jivesoftware.smack.SmackException.NotConnectedException
jid - The id of the entity the query is being sent toorg.jivesoftware.smack.XMPPException.XMPPErrorException - An XMPP related error occurred during the requestorg.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the jid.org.jivesoftware.smack.SmackException.NotConnectedExceptionpublic boolean pingMyServer()
throws org.jivesoftware.smack.SmackException.NotConnectedException
ping with the XMPP domain.
Unlike the ping(String) case, this method will return true even if
isPingSupported(String) is false.
org.jivesoftware.smack.SmackException.NotConnectedExceptionpublic boolean pingMyServer(boolean notifyListeners)
throws org.jivesoftware.smack.SmackException.NotConnectedException
ping with the XMPP domain.
Unlike the ping(String) case, this method will return true even if
isPingSupported(String) is false.
notifyListeners - Notify the PingFailedListener in case of error if trueorg.jivesoftware.smack.SmackException.NotConnectedExceptionpublic boolean pingMyServer(boolean notifyListeners,
long pingTimeout)
throws org.jivesoftware.smack.SmackException.NotConnectedException
ping with the XMPP domain.
Unlike the ping(String) case, this method will return true even if
isPingSupported(String) is false.
notifyListeners - Notify the PingFailedListener in case of error if truepingTimeout - The time to wait for a reply in millisecondsorg.jivesoftware.smack.SmackException.NotConnectedExceptionpublic void setPingInterval(int pingInterval)
pingInterval is positive, a new one will be scheduled in pingInterval seconds.
If the ping fails after 3 attempts waiting the connections reply timeout for an answer, then the ping failed listeners will be invoked.
pingInterval - the interval in seconds between the automated server pingspublic int getPingInterval()
public void registerPingFailedListener(PingFailedListener listener)
listener - the listener to invokepublic void unregisterPingFailedListener(PingFailedListener listener)
listener - the listener to removepublic void pingServerIfNecessary()
setPingInterval(int)) and the ping interval has expired.protected void finalize()
throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwable