接口XMPPConnection
接口XMPPConnection
-
公共接口XMPPConnection
XMPPConnection接口提供用于连接到XMPP服务器的接口,并实现由不同类型的连接(例如XMPPTCPConnection
或XMPPBOSHConnection
)使用的共享方法 。要创建与XMPP服务器的连接,此API的简单用法可能如下所示://创建与igniterealtime.org XMPP服务器的连接。
XMPPTCPConnection con = new XMPPTCPConnection(“igniterealtime.org”);
//连接到服务器
con.connect();
//大多数服务器要求您在执行其他任务之前登录。
con.login(“jsmith”,“mypass”);
//与John Doe开始新的对话并向他发送消息。
ChatManager chatManager = ChatManager.getInstanceFor(con);
chatManager.addIncomingListener(new IncomingChatMessageListener(){
public void newIncomingMessage(EntityBareJid from,Message message,Chat chat){
//打印出我们返回标准的任何消息。
System.out.println(“收到的消息:”+消息);
}
});
聊天聊天= chatManager.chatWith(“jdoe@igniterealtime.org”);
chat.send( “你好!”);
//断开与服务器的连接
con.disconnect();// Create a connection to the igniterealtime.org XMPP server.
XMPPTCPConnection con = new XMPPTCPConnection("igniterealtime.org");
// Connect to the server
con.connect();
// Most servers require you to login before performing other tasks.
con.login("jsmith", "mypass");
// Start a new conversation with John Doe and send him a message.
ChatManager chatManager = ChatManager.getInstanceFor(con);
chatManager.addIncomingListener(new IncomingChatMessageListener() {
public void newIncomingMessage(EntityBareJid from, Message message, Chat chat) {
// Print out any messages we get back to standard out.
System.out.println("Received message: " + message);
}
});
Chat chat = chatManager.chatWith("jdoe@igniterealtime.org");
chat.send("Howdy!");
// Disconnect from the server
con.disconnect();需要注意的是XMPPConnection接口并没有故意申报操纵的连接状态,例如任何方法
connect()
,disconnect()
。您应该使用最具体的连接类型,例如XMPPTCPConnection
声明的类型,并在不需要操作连接状态时使用XMPPConnection接口。XMPPConnections可以在连接之间重用。这意味着可以连接,断开连接然后再连接。XMPPConnection的监听器将保留在各个连接中。
嵌套类摘要
嵌套类 修饰符和类型 界面和描述 static class
XMPPConnection.FromMode
方法摘要
所有方法实例方法抽象方法不推荐使用的方法 修饰符和类型 方法和描述 void
addAsyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)
使用此连接注册异步节侦听器。void
addConnectionListener(ConnectionListener connectionListener)
向此连接添加连接侦听器,该连接将在连接关闭或失败时收到通知。void
addOneTimeSyncCallback(StanzaListener callback, StanzaFilter stanzaFilter)
添加一个只调用一次并与与给定节过滤器匹配的传入节同步的回调。void
addPacketInterceptor(StanzaListener stanzaInterceptor, StanzaFilter stanzaFilter)
void
addPacketSendingListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)
void
addStanzaInterceptor(StanzaListener stanzaInterceptor, StanzaFilter stanzaFilter)
使用此连接注册节拦截器。void
addStanzaSendingListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)
使用此连接注册节听众。void
addSyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)
使用此连接注册同步节监听器。StanzaCollector
createStanzaCollector(StanzaCollector.Configuration configuration)
使用给定的节收集器配置创建新的节收集器。StanzaCollector
createStanzaCollector(StanzaFilter stanzaFilter)
为此连接创建新的节收集器。StanzaCollector
createStanzaCollectorAndSend(IQ request)
创建一个新的节收集器,收集回复IQ的IQ响应request
。StanzaCollector
createStanzaCollectorAndSend(StanzaFilter stanzaFilter, Stanza stanza)
为此连接创建新的节收集器。int
getConnectionCounter()
获取此XMPPConnection实例的连接计数器。<F extends ExtensionElement>
FgetFeature(String element, String namespace)
获取服务器的给定流功能的功能节扩展,或者null
服务器是否不支持该功能。XMPPConnection.FromMode
getFromMode()
获取当前活动的FromMode。String
getHost()
返回运行XMPP服务器的服务器的主机名。long
getLastStanzaReceived()
返回收到最后一节时的时间戳(以毫秒为单位)。int
getPort()
返回此连接的XMPP服务器的端口号。long
getReplyTimeout()
返回请求此XMPPConnection实例的回复超时的当前值(以毫秒为单位)。String
getStreamId()
返回此连接的流ID,这是服务器在打开XMPP流时设置的值。org.jxmpp.jid.EntityFullJid
getUser()
返回登录到连接的用户的完整XMPP地址,如果尚未登录,则返回 null。org.jxmpp.jid.DomainBareJid
getXMPPServiceDomain()
返回XMPP服务器提供并用于此连接的服务的XMPP域。boolean
hasFeature(String element, String namespace)
如果服务器支持给定的流功能,则返回true。boolean
isAnonymous()
如果当前以匿名方式验证,则返回true。boolean
isAuthenticated()
如果当前通过成功调用login方法进行身份验证,则返回true。boolean
isConnected()
如果当前连接到XMPP服务器,则返回true。boolean
isSecureConnection()
如果与服务器的连接已成功协商加密,则返回true。boolean
isUsingCompression()
如果正在压缩网络流量,则返回true。IQRequestHandler
registerIQRequestHandler(IQRequestHandler iqRequestHandler)
使用此连接注册IQ请求处理程序。boolean
removeAsyncStanzaListener(StanzaListener stanzaListener)
从此连接中删除已接收节的异步节侦听器。void
removeConnectionListener(ConnectionListener connectionListener)
从此连接中删除连接侦听器。void
removePacketInterceptor(StanzaListener stanzaInterceptor)
void
removePacketSendingListener(StanzaListener stanzaListener)
void
removeStanzaCollector(StanzaCollector collector)
删除此连接的节收集器。void
removeStanzaInterceptor(StanzaListener stanzaInterceptor)
删除节拦截器。void
removeStanzaSendingListener(StanzaListener stanzaListener)
删除用于从此连接发送节的节侦听器。boolean
removeSyncStanzaListener(StanzaListener stanzaListener)
从此连接中删除已接收节的节监听器。<S extends Stanza>
SmackFuture<S,Exception>sendAsync(S stanza, StanzaFilter replyFilter)
异步发送节,使用给定的回复过滤器等待一个响应节。<S extends Stanza>
SmackFuture<S,Exception>sendAsync(S stanza, StanzaFilter replyFilter, long timeout)
异步发送节,使用给定的回复过滤器等待一个响应节。<I extends IQ>
IsendIqRequestAndWaitForResponse(IQ request)
发送IQ请求并等待响应。SmackFuture<IQ,Exception>
sendIqRequestAsync(IQ request)
异步发送IQ请求。SmackFuture<IQ,Exception>
sendIqRequestAsync(IQ request, long timeout)
异步发送IQ请求。void
sendIqWithResponseCallback(IQ iqRequest, StanzaListener callback)
已过时。使用sendIqRequestAsync(IQ)
来代替。void
sendIqWithResponseCallback(IQ iqRequest, StanzaListener callback, ExceptionCallback exceptionCallback)
已过时。使用sendIqRequestAsync(IQ)
来代替。void
sendIqWithResponseCallback(IQ iqRequest, StanzaListener callback, ExceptionCallback exceptionCallback, long timeout)
已过时。void
sendNonza(Nonza nonza)
发送Nonza。void
sendStanza(Stanza stanza)
将指定的节发送到服务器。void
sendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback)
已过时。void
sendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback,ExceptionCallback exceptionCallback)
已过时。void
sendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback,ExceptionCallback exceptionCallback, long timeout)
已过时。void
setFromMode(XMPPConnection.FromMode fromMode)
为此连接实例设置FromMode。void
setReplyTimeout(long timeout)
设置节回复超时(以毫秒为单位)。IQRequestHandler
unregisterIQRequestHandler(IQRequestHandler iqRequestHandler)
IQRequestHandler
unregisterIQRequestHandler(String element, String namespace, IQ.Type type)
使用此连接取消注册IQ请求处理程序。
方法细节
getXMPPServiceDomain
org.jxmpp.jid.DomainBareJid getXMPPServiceDomain()
返回XMPP服务器提供并用于此连接的服务的XMPP域。在使用服务器进行身份验证后,返回的值可能不同。- 返回:
- 此XMPP会话的XMPP域。
和getHost
String getHost()
返回运行XMPP服务器的服务器的主机名。这将是服务器的IP地址或可由DNS服务器解析的名称。- 返回:
- 运行XMPP服务器的服务器的主机名,如果尚未连接,则为null。
的getPort
int getPort()
返回此连接的XMPP服务器的端口号。正常连接的默认端口是5222。- 返回:
- XMPP服务器的端口号,如果尚未连接,则为0。
的getUser
org.jxmpp.jid.EntityFullJid getUser()
返回登录到连接的用户的完整XMPP地址,如果尚未登录,则返回 null。XMPP地址的格式为username @ server / resource。- 返回:
- 登录用户的完整XMPP地址。
getStreamId
String getStreamId()
返回此连接的流ID,这是服务器在打开XMPP流时设置的值。如果未连接到服务器,则此值将为null。- 返回:
- 从XMPP服务器返回的此连接的ID,如果未连接到服务器,则返回null。
- 也可以看看:
- RFC6120§4.7.3。ID
已连接
boolean isConnected()
如果当前连接到XMPP服务器,则返回true。- 返回:
- 如果连接则为true。
isAuthenticated
boolean isAuthenticated()
如果当前通过成功调用login方法进行身份验证,则返回true。- 返回:
- 如果已通过身份验证,
isAnonymous
boolean isAnonymous()
如果当前以匿名方式验证,则返回true。- 返回:
- 如果匿名验证,则为true。
isSecureConnection
boolean isSecureConnection()
如果与服务器的连接已成功协商加密,则返回true。- 返回:
- 如果与服务器的安全连接,则为true。
isUsingCompression
boolean isUsingCompression()
如果正在压缩网络流量,则返回true。使用流压缩时,网络流量可减少高达90%。因此,当使用慢速网络连接时,流压缩是理想的。但是,服务器需要使用更多的CPU时间来解压缩/压缩网络数据,因此在高负载下服务器性能可能会受到影响。- 返回:
- 如果正在压缩网络流量,则为true。
sendStanza
void sendStanza(Stanza stanza)
抛出SmackException.NotConnectedException,
InterruptedException将指定的节发送到服务器。- 参数:
stanza
- 要发送的节。- 抛出:
SmackException.NotConnectedException
- 如果未连接连接。InterruptedException
sendNonza
void sendNonza(Nonza nonza)
抛出SmackException.NotConnectedException,
InterruptedException发送Nonza。此方法不适用于最终用户使用!它允许发送普通流元素,这不应由用户手动完成。这样做可能会导致连接不稳定或无法使用。某些Smack API使用此方法发送纯流元素。
- 参数:
nonza
- 要发送的Nonza。- 抛出:
SmackException.NotConnectedException
InterruptedException
addConnectionListener
void addConnectionListener(ConnectionListener connectionListener)
向此连接添加连接侦听器,该连接将在连接关闭或失败时收到通知。- 参数:
connectionListener
- 连接侦听器。
removeConnectionListener
void removeConnectionListener(ConnectionListener connectionListener)
从此连接中删除连接侦听器。- 参数:
connectionListener
- 连接侦听器。
sendIqRequestAndWaitForResponse
<我扩展了IQ >我 sendIqRequestAndWaitForResponse(IQ 请求)
抛出SmackException.NoResponseException,
XMPPException.XMPPErrorException,
SmackException.NotConnectedException,
InterruptedException发送IQ请求并等待响应。- 参数:
request
- IQ请求- 返回:
- 具有“结果”类型的IQ
- 抛出:
SmackException.NoResponseException
XMPPException.XMPPErrorException
SmackException.NotConnectedException
InterruptedException
- 以来:
- 4.3
createStanzaCollectorAndSend
StanzaCollector createStanzaCollectorAndSend(IQ 请求)
抛出SmackException.NotConnectedException,
InterruptedException- 参数:
request
- 过滤响应的IQ请求- 返回:
- 一个新的节收集器。
- 抛出:
SmackException.NotConnectedException
InterruptedException
createStanzaCollectorAndSend
StanzaCollector createStanzaCollectorAndSend(StanzaFilter stanzaFilter,
Stanza stanza)
抛出SmackException.NotConnectedException,
InterruptedException为此连接创建新的节收集器。节过滤器确定收集器将累积哪些节。StanzaCollector比StanzaListener
您需要等待特定结果时更适合使用。- 参数:
stanzaFilter
- 要使用的节过滤器。stanza
- 收集器创建后立即发送的节- 返回:
- 一个新的节收集器。
- 抛出:
InterruptedException
SmackException.NotConnectedException
createStanzaCollector
StanzaCollector createStanzaCollector(StanzaFilter stanzaFilter)
为此连接创建新的节收集器。节过滤器确定收集器将累积哪些节。StanzaCollector比StanzaListener
您需要等待特定结果时更适合使用。注意:如果您在使用此方法后立即发送Stanza,请考虑使用
createStanzaCollectorAndSend(StanzaFilter, Stanza)
。否则,请确保在每种情况下取消StanzaCollector,例如,即使抛出异常,否则您可能会泄漏StanzaCollector。- 参数:
stanzaFilter
- 要使用的节过滤器。- 返回:
- 一个新的节收集器。
createStanzaCollector
StanzaCollector createStanzaCollector(StanzaCollector.Configuration 配置)
使用给定的节收集器配置创建新的节收集器。请确保在不再需要时取消收集器。另见
createStanzaCollector(StanzaFilter)
。- 参数:
configuration
- 节收集器配置。- 返回:
- 一个新的节收集器。
- 以来:
- 4.1
removeStanzaCollector
void removeStanzaCollector(StanzaCollector collector)
删除此连接的节收集器。- 参数:
collector
- 为此连接创建的节收集器。
addSyncStanzaListener
void addSyncStanzaListener(StanzaListener stanzaListener,
StanzaFilter stanzaFilter)使用此连接注册同步节监听器。只有在收到传入的节时才会调用节监听器。节属过滤器确定将哪些节传递给侦听器。如果使用不同的过滤器再次添加相同的节监听器,则仅使用新过滤器。重要提示:此节的侦听器将在处理所有传入节的同一个线程中调用。如果它不执行等待响应的任何XMPP活动,则仅使用此类节过滤器。考虑
addAsyncStanzaListener(StanzaListener, StanzaFilter)
在可能的情况下使用,即调用顺序不必与到达节的顺序相同。如果到达节的顺序,请考虑StanzaCollector
尽可能使用。- 参数:
stanzaListener
- 节听众通知新收到的节。stanzaFilter
- 要使用的节过滤器。- 以来:
- 4.1
- 也可以看看:
addStanzaInterceptor(StanzaListener, StanzaFilter)
removeSyncStanzaListener
boolean removeSyncStanzaListener(StanzaListener stanzaListener)
从此连接中删除已接收节的节监听器。- 参数:
stanzaListener
- 要删除的节听众。- 返回:
- 如果删除了节侦听器,则为true
- 以来:
- 4.1
addAsyncStanzaListener
void addAsyncStanzaListener(StanzaListener stanzaListener,
StanzaFilter stanzaFilter)使用此连接注册异步节侦听器。只有在收到传入的节时才会调用节监听器。节属过滤器确定将哪些节传递给侦听器。如果使用不同的过滤器再次添加相同的节监听器,则仅使用新过滤器。与
addAsyncStanzaListener(StanzaListener, StanzaFilter)
stanza监听器不同,使用此方法添加的侦听器将在其自己的线程中异步调用。如果节听众的顺序不一定取决于接收节的顺序,请使用此方法。- 参数:
stanzaListener
- 节听众通知新收到的节。stanzaFilter
- 要使用的节过滤器。- 以来:
- 4.1
- 也可以看看:
addStanzaInterceptor(StanzaListener, StanzaFilter)
removeAsyncStanzaListener
boolean removeAsyncStanzaListener(StanzaListener stanzaListener)
从此连接中删除已接收节的异步节侦听器。- 参数:
stanzaListener
- 要删除的节听众。- 返回:
- 如果删除了节侦听器,则为true
- 以来:
- 4.1
addPacketSendingListener
@Deprecated
void addPacketSendingListener(StanzaListener stanzaListener,
StanzaFilter stanzaFilter)使用此连接注册节听众。将通知侦听器此连接发送的每个节。节属过滤器确定将哪些节传递给侦听器。请注意,写入节的线程将用于调用侦听器。因此,每个节监听器应该快速完成所有操作或使用不同的线程进行处理。- 参数:
stanzaListener
- 节听众通知发送的节。stanzaFilter
- 要使用的节过滤器。
addStanzaSendingListener
void addStanzaSendingListener(StanzaListener stanzaListener,
StanzaFilter stanzaFilter)使用此连接注册节听众。将通知侦听器此连接发送的每个节。节属过滤器确定将哪些节传递给侦听器。请注意,写入节的线程将用于调用侦听器。因此,每个节监听器应该快速完成所有操作或使用不同的线程进行处理。- 参数:
stanzaListener
- 节听众通知发送的节。stanzaFilter
- 要使用的节过滤器。
removePacketSendingListener
@Deprecated
void removePacketSendingListener(StanzaListener stanzaListener)删除用于从此连接发送节的节侦听器。- 参数:
stanzaListener
- 要删除的节听众。
removeStanzaSendingListener
void removeStanzaSendingListener(StanzaListener stanzaListener)
删除用于从此连接发送节的节侦听器。- 参数:
stanzaListener
- 要删除的节听众。
addPacketInterceptor
@Deprecated
void addPacketInterceptor(StanzaListener stanzaInterceptor,
StanzaFilter stanzaFilter)使用此连接注册节拦截器。每次要通过此连接发送节时,都会调用拦截器。拦截器可以修改要发送的节。节过滤器确定将哪些节传递给拦截器。注意:有关传入节的类似功能,请参阅
addAsyncStanzaListener(StanzaListener, StanzaFilter)
。- 参数:
stanzaInterceptor
- 节消息拦截器通知要发送的节。stanzaFilter
- 要使用的节过滤器。
addStanzaInterceptor
void addStanzaInterceptor(StanzaListener stanzaInterceptor,
StanzaFilter stanzaFilter)使用此连接注册节拦截器。每次要通过此连接发送节时,都会调用拦截器。拦截器可以修改要发送的节。节过滤器确定将哪些节传递给拦截器。注意:有关传入节的类似功能,请参阅
addAsyncStanzaListener(StanzaListener, StanzaFilter)
。- 参数:
stanzaInterceptor
- 节消息拦截器通知要发送的节。stanzaFilter
- 要使用的节过滤器。
removePacketInterceptor
@Deprecated
void removePacketInterceptor(StanzaListener stanzaInterceptor)删除节拦截器。- 参数:
stanzaInterceptor
- 要删除的节拦截器。
removeStanzaInterceptor
void removeStanzaInterceptor(StanzaListener stanzaInterceptor)
删除节拦截器。- 参数:
stanzaInterceptor
- 要删除的节拦截器。
getReplyTimeout
long getReplyTimeout()
返回请求此XMPPConnection实例的回复超时的当前值(以毫秒为单位)。- 返回:
- 回复超时(以毫秒为单位)
setReplyTimeout
void setReplyTimeout(long timeout)
设置节回复超时(以毫秒为单位)。在大多数情况下,SmackException.NoResponseException
如果在超时期限内收到请求没有回复,Smack将抛出一个 。- 参数:
timeout
- 以毫秒为单位的回复
getConnectionCounter
int getConnectionCounter()
获取此XMPPConnection实例的连接计数器。这些可以用作ID来标识连接,但要注意,如果您在计数器可以包装时创建超过2 *个Integer.MAX_VALUE实例,则ID可能不是唯一的 。- 返回:
- 这个XMPPConnection的连接计数器
setFromMode
void setFromMode(XMPPConnection.FromMode fromMode)
为此连接实例设置FromMode。定义如何通过Smack填充传出节的'from'属性。- 参数:
fromMode
-
getFromMode
XMPPConnection.FromMode getFromMode()
获取当前活动的FromMode。- 返回:
- 目前活跃的
XMPPConnection.FromMode
getFeature
<F extends ExtensionElement > F getFeature(String element,
String namespace)获取服务器的给定流功能的功能节扩展,或者null
服务器是否不支持该功能。- 类型参数:
F
-ExtensionElement
功能类型。- 参数:
element
-namespace
-- 返回:
- 功能或节的节扩展
null
hasFeature
boolean hasFeature(String element,
String namespace)如果服务器支持给定的流功能,则返回true。- 参数:
element
-namespace
-- 返回:
- 如果服务器支持流功能,则为true。
sendIqRequestAsync
SmackFuture < IQ,异常 > sendIqRequestAsync(IQ 请求)
异步发送IQ请求。将使用连接的默认回复超时。- 参数:
request
- 要发送的IQ请求。- 返回:
- 一个SmackFuture的响应。
sendIqRequestAsync
SmackFuture < IQ,Exception > sendIqRequestAsync(IQ 请求,
长时间超时)异步发送IQ请求。- 参数:
request
- 要发送的IQ请求。timeout
- 以毫秒为单位的回复超时。- 返回:
- 一个SmackFuture的响应。
sendAsync
<S扩展Stanza > SmackFuture <S,例外 > sendAsync(S stanza,
StanzaFilter replyFilter)异步发送节,使用给定的回复过滤器等待一个响应节。将使用连接的默认回复超时。- 参数:
stanza
- 要发送的节。replyFilter
- 用于响应节的过滤器。- 返回:
- 一个SmackFuture的响应。
sendAsync
<S扩展Stanza > SmackFuture <S,例外 > sendAsync(S stanza,
StanzaFilter replyFilter,
长时间超时)异步发送节,使用给定的回复过滤器等待一个响应节。- 参数:
stanza
- 要发送的节。replyFilter
- 用于响应节的过滤器。timeout
- 以毫秒为单位的回复超时。- 返回:
- 一个SmackFuture的响应。
sendStanzaWithResponseCallback
@Deprecated
void sendStanzaWithResponseCallback(Stanza stanza,
StanzaFilter replyFilter,
StanzaListener callback)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendAsync(Stanza, StanzaFilter)
来代替。发送一个节并使用异步等待响应replyFilter
。如果有响应,
callback
则会被调用。回调最多只会被调用一次,并且在连接默认回复超时结束后不会调用它。- 参数:
stanza
- 要发送的节(必填)replyFilter
- 用于确定响应节的过滤器(必需)callback
- 如果有响应,则调用回调(必需)- 抛出:
SmackException.NotConnectedException
InterruptedException
sendStanzaWithResponseCallback
@Deprecated
void sendStanzaWithResponseCallback(Stanza stanza,
StanzaFilter replyFilter,
StanzaListener callback,
ExceptionCallback exceptionCallback)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendAsync(Stanza, StanzaFilter)
来代替。发送一个节并使用异步等待响应replyFilter
。如果有响应,
callback
则会被调用。如果在连接默认回复超时后没有响应,则将exceptionCallback
使用a调用SmackException.NoResponseException
。回调最多只能调用一次。- 参数:
stanza
- 要发送的节(必填)replyFilter
- 用于确定响应节的过滤器(必需)callback
- 如果有响应,则调用回调(必需)exceptionCallback
- 如果有异常,则调用回调(可选)- 抛出:
SmackException.NotConnectedException
InterruptedException
sendStanzaWithResponseCallback
@Deprecated
void sendStanzaWithResponseCallback(Stanza stanza,
StanzaFilter replyFilter,
StanzaListener 回调,
ExceptionCallback exceptionCallback,
长时间超时)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendAsync(Stanza, StanzaFilter, long)
来代替。发送一个节并使用异步等待响应replyFilter
。如果有响应,
callback
则会被调用。如果在timeout
毫秒之后没有响应,那么exceptionCallback
将使用a调用SmackException.NoResponseException
。回调最多只能调用一次。- 参数:
stanza
- 要发送的节(必填)replyFilter
- 用于确定响应节的过滤器(必需)callback
- 如果有响应,则调用回调(必需)exceptionCallback
- 如果有异常,则调用回调(可选)timeout
- 等待响应的超时(以毫秒为单位)- 抛出:
SmackException.NotConnectedException
InterruptedException
sendIqWithResponseCallback
@Deprecated
void sendIqWithResponseCallback(IQ iqRequest,
StanzaListener 回调)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendIqRequestAsync(IQ)
来代替。发送IQ节并在结果IQcallback
结果时 调用IQ.Type.result
。连接默认回复超时后,将不会调用回调。- 参数:
iqRequest
- 要发送的IQ节(必填)callback
- 如果有结果响应,则调用回调(必需)- 抛出:
SmackException.NotConnectedException
InterruptedException
sendIqWithResponseCallback
@Deprecated
void sendIqWithResponseCallback(IQ iqRequest,
StanzaListener 回调,
ExceptionCallback exceptionCallback)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendIqRequestAsync(IQ)
来代替。发送IQ节并在结果IQcallback
结果时 调用IQ.Type.result
。如果有错误响应exceptionCallback
将被调用,如果不为null,则收到的错误为XMPPException.XMPPErrorException
。如果在连接默认回复超时后没有响应,则将exceptionCallback
使用a调用SmackException.NoResponseException
。- 参数:
iqRequest
- 要发送的IQ节(必填)callback
- 如果有结果响应,则调用回调(必需)exceptionCallback
- 如果存在Exception可选,则调用回调- 抛出:
SmackException.NotConnectedException
InterruptedException
sendIqWithResponseCallback
@Deprecated
void sendIqWithResponseCallback(IQ iqRequest,
StanzaListener 回调,
ExceptionCallback exceptionCallback,
长时间超时)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendIqRequestAsync(IQ, long)
来代替。发送IQ节并在结果IQcallback
结果时 调用IQ.Type.result
。如果有错误响应exceptionCallback
将被调用,如果不为null,则收到的错误为XMPPException.XMPPErrorException
。如果之后没有响应timeout
,那么exceptionCallback
将使用a调用SmackException.NoResponseException
。- 参数:
iqRequest
- 要发送的IQ节(必填)callback
- 如果有结果响应,则调用回调(必需)exceptionCallback
- 如果存在Exception可选,则调用回调timeout
- 等待响应的超时(以毫秒为单位)- 抛出:
SmackException.NotConnectedException
InterruptedException
addOneTimeSyncCallback
void addOneTimeSyncCallback(StanzaListener 回调,
StanzaFilter stanzaFilter)添加一个只调用一次并与与给定节过滤器匹配的传入节同步的回调。- 参数:
callback
- 一个节过滤器匹配节后调用的回调。stanzaFilter
- 匹配节的过滤器或null以匹配所有。
registerIQRequestHandler
IQRequestHandler registerIQRequestHandler(IQRequestHandler iqRequestHandler)
使用此连接注册IQ请求处理程序。IQ请求处理程序处理传入的IQ请求,即“get”或“set”类型的传入IQ节,并返回结果。
- 参数:
iqRequestHandler
- 要注册的IQ请求处理程序。- 返回:
- 以前注册的IQ请求处理程序或null。
unregisterIQRequestHandler
IQRequestHandler unregisterIQRequestHandler(IQRequestHandler iqRequestHandler)
- 参数:
iqRequestHandler
-- 返回:
- 以前注册的IQ请求处理程序或null。
unregisterIQRequestHandler
IQRequestHandler unregisterIQRequestHandler(String element,
String namespace,
IQ.Type type)使用此连接取消注册IQ请求处理程序。- 参数:
element
- IQ请求处理程序负责的IQ元素。namespace
- IQ请求处理程序负责的IQ名称空间。type
- IQ请求处理程序负责的IQ类型。- 返回:
- 以前注册的IQ请求处理程序或null。
getLastStanzaReceived
long getLastStanzaReceived()
返回收到最后一节时的时间戳(以毫秒为单位)。- 返回:
- 时间戳,以毫秒为单位
接口XMPPConnection的更多相关文章
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- java基础_集合List与Set接口
List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ...
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...
- PHP以接口方式实现多重继承(完全模拟)--学习笔记
1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
随机推荐
- centos7 下 yum 安装Nginx
centos7 下 yum 安装和配置 Nginx 添加yum源 Nginx不在默认的yum源中,可以使用epel或者官网的yum源,这里使用官网的yum源 rpm -ivh http://nginx ...
- Nios II IDE代码优化,quartus ii 11.0版本IDE
开发Altera Nios II软件可使用Nios II IDE或 Nios II Software BuildTools for Eclipse(即:Nios II SBT for Eclipse) ...
- istio部署-helm
参考 istio/istio istio/Kubernetes Customizable Install with Helm Istio安装参数介绍 1. Istio Chart 目录结构 PATH: ...
- ajax jQ写的上传进度条
XML/HTML Code <form id="myForm" action="upload.php" method="post" e ...
- python基础之三:int、bool、str
一.数据类型之整型的函数使用 i = print("该整型数字所占有效比特位的长度是:%d" % i.bit_length()) print(i.to_bytes(, " ...
- div垂直居中水平居中css
width: 860px; height: 500px; position: absolute; margin-left: -430px; margin-top: -250px; top: 50%; ...
- BootStrap Table 合并单元格
为了更直观展示表格的一大堆乱七八糟的数据,合并单元格就派上用场: 效果: 贴上JSON数据(后台查询数据一定要对合并字段排序): [ { "city": "广州市&quo ...
- 【BigData】Java基础_创建一个订单类
需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额: 总金额500~1000,打折85折 总金额1000~150 ...
- 疯了!同事又问我为什么不能用 isXXX
最近在做Code Review,写下了这篇文章:代码写成这样,老夫无可奈何!,说多了都是泪啊.. 最近又有人同事跑过来质疑我: 为什么变量名取名不能用 isXXX 这种方式,这样有什么问题?! 醉了, ...
- [技术博客]阿里云签名机制字符串的C语言实现
[技术博客]阿里云签名机制字符串的C语言实现 问题描述见:阿里云签名机制 话不多说,上字符串函数转化函数代码 bool AlicloudRequest::sendV2Request() { if( q ...