接口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 classXMPPConnection.FromMode
方法摘要
所有方法实例方法抽象方法不推荐使用的方法 修饰符和类型 方法和描述 voidaddAsyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)使用此连接注册异步节侦听器。voidaddConnectionListener(ConnectionListener connectionListener)向此连接添加连接侦听器,该连接将在连接关闭或失败时收到通知。voidaddOneTimeSyncCallback(StanzaListener callback, StanzaFilter stanzaFilter)添加一个只调用一次并与与给定节过滤器匹配的传入节同步的回调。voidaddPacketInterceptor(StanzaListener stanzaInterceptor, StanzaFilter stanzaFilter)voidaddPacketSendingListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)voidaddStanzaInterceptor(StanzaListener stanzaInterceptor, StanzaFilter stanzaFilter)使用此连接注册节拦截器。voidaddStanzaSendingListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)使用此连接注册节听众。voidaddSyncStanzaListener(StanzaListener stanzaListener, StanzaFilter stanzaFilter)使用此连接注册同步节监听器。StanzaCollectorcreateStanzaCollector(StanzaCollector.Configuration configuration)使用给定的节收集器配置创建新的节收集器。StanzaCollectorcreateStanzaCollector(StanzaFilter stanzaFilter)为此连接创建新的节收集器。StanzaCollectorcreateStanzaCollectorAndSend(IQ request)创建一个新的节收集器,收集回复IQ的IQ响应request。StanzaCollectorcreateStanzaCollectorAndSend(StanzaFilter stanzaFilter, Stanza stanza)为此连接创建新的节收集器。intgetConnectionCounter()获取此XMPPConnection实例的连接计数器。<F extends ExtensionElement>
FgetFeature(String element, String namespace)获取服务器的给定流功能的功能节扩展,或者null服务器是否不支持该功能。XMPPConnection.FromModegetFromMode()获取当前活动的FromMode。StringgetHost()返回运行XMPP服务器的服务器的主机名。longgetLastStanzaReceived()返回收到最后一节时的时间戳(以毫秒为单位)。intgetPort()返回此连接的XMPP服务器的端口号。longgetReplyTimeout()返回请求此XMPPConnection实例的回复超时的当前值(以毫秒为单位)。StringgetStreamId()返回此连接的流ID,这是服务器在打开XMPP流时设置的值。org.jxmpp.jid.EntityFullJidgetUser()返回登录到连接的用户的完整XMPP地址,如果尚未登录,则返回 null。org.jxmpp.jid.DomainBareJidgetXMPPServiceDomain()返回XMPP服务器提供并用于此连接的服务的XMPP域。booleanhasFeature(String element, String namespace)如果服务器支持给定的流功能,则返回true。booleanisAnonymous()如果当前以匿名方式验证,则返回true。booleanisAuthenticated()如果当前通过成功调用login方法进行身份验证,则返回true。booleanisConnected()如果当前连接到XMPP服务器,则返回true。booleanisSecureConnection()如果与服务器的连接已成功协商加密,则返回true。booleanisUsingCompression()如果正在压缩网络流量,则返回true。IQRequestHandlerregisterIQRequestHandler(IQRequestHandler iqRequestHandler)使用此连接注册IQ请求处理程序。booleanremoveAsyncStanzaListener(StanzaListener stanzaListener)从此连接中删除已接收节的异步节侦听器。voidremoveConnectionListener(ConnectionListener connectionListener)从此连接中删除连接侦听器。voidremovePacketInterceptor(StanzaListener stanzaInterceptor)voidremovePacketSendingListener(StanzaListener stanzaListener)voidremoveStanzaCollector(StanzaCollector collector)删除此连接的节收集器。voidremoveStanzaInterceptor(StanzaListener stanzaInterceptor)删除节拦截器。voidremoveStanzaSendingListener(StanzaListener stanzaListener)删除用于从此连接发送节的节侦听器。booleanremoveSyncStanzaListener(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请求。voidsendIqWithResponseCallback(IQ iqRequest, StanzaListener callback)已过时。使用sendIqRequestAsync(IQ)来代替。voidsendIqWithResponseCallback(IQ iqRequest, StanzaListener callback, ExceptionCallback exceptionCallback)已过时。使用sendIqRequestAsync(IQ)来代替。voidsendIqWithResponseCallback(IQ iqRequest, StanzaListener callback, ExceptionCallback exceptionCallback, long timeout)已过时。voidsendNonza(Nonza nonza)发送Nonza。voidsendStanza(Stanza stanza)将指定的节发送到服务器。voidsendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback)已过时。voidsendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback,ExceptionCallback exceptionCallback)已过时。voidsendStanzaWithResponseCallback(Stanza stanza, StanzaFilter replyFilter, StanzaListener callback,ExceptionCallback exceptionCallback, long timeout)已过时。voidsetFromMode(XMPPConnection.FromMode fromMode)为此连接实例设置FromMode。voidsetReplyTimeout(long timeout)设置节回复超时(以毫秒为单位)。IQRequestHandlerunregisterIQRequestHandler(IQRequestHandler iqRequestHandler)IQRequestHandlerunregisterIQRequestHandler(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.NotConnectedExceptionInterruptedException
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.NoResponseExceptionXMPPException.XMPPErrorExceptionSmackException.NotConnectedExceptionInterruptedException- 以来:
- 4.3
createStanzaCollectorAndSend
StanzaCollector createStanzaCollectorAndSend(IQ 请求)
抛出SmackException.NotConnectedException,
InterruptedException- 参数:
request- 过滤响应的IQ请求- 返回:
- 一个新的节收集器。
- 抛出:
SmackException.NotConnectedExceptionInterruptedException
createStanzaCollectorAndSend
StanzaCollector createStanzaCollectorAndSend(StanzaFilter stanzaFilter,
Stanza stanza)
抛出SmackException.NotConnectedException,
InterruptedException为此连接创建新的节收集器。节过滤器确定收集器将累积哪些节。StanzaCollector比StanzaListener您需要等待特定结果时更适合使用。- 参数:
stanzaFilter- 要使用的节过滤器。stanza- 收集器创建后立即发送的节- 返回:
- 一个新的节收集器。
- 抛出:
InterruptedExceptionSmackException.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.NotConnectedExceptionInterruptedException
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.NotConnectedExceptionInterruptedException
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.NotConnectedExceptionInterruptedException
sendIqWithResponseCallback
@Deprecated
void sendIqWithResponseCallback(IQ iqRequest,
StanzaListener 回调)
抛出SmackException.NotConnectedException,
InterruptedException已过时。 使用sendIqRequestAsync(IQ)来代替。发送IQ节并在结果IQcallback结果时 调用IQ.Type.result。连接默认回复超时后,将不会调用回调。- 参数:
iqRequest- 要发送的IQ节(必填)callback- 如果有结果响应,则调用回调(必需)- 抛出:
SmackException.NotConnectedExceptionInterruptedException
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.NotConnectedExceptionInterruptedException
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.NotConnectedExceptionInterruptedException
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:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
随机推荐
- python 和 R 语言 中的 range() 函数
1.python 中的 range() 函数生成整数序列,常用于 for 循环的迭代. 示例: 2.R 语言中的 range() 函数返回一个数值向量中的最小值和最大中,常用于求极差. 示例: 按语: ...
- LOJ 2249: 洛谷 P2305: bzoj 3672: 「NOI2014」购票
题目传送门:LOJ #2249. 题意简述: 有一棵以 \(1\) 号节点为根节点的带边权的树. 除了 \(1\) 号节点的所有节点上都有人需要坐车到达 \(1\) 号节点. 除了 \(1\) 号节点 ...
- opencv2配置window
https://opencv.org/ opencv2 opencv3 opencv4 (现在到4版本) 二值化 图像拉伸 灰度 图像腐蚀 车牌识别 配置:https://blog.csdn.n ...
- Redash - 安装和初试
前言 当业务成长到一定规模之后,会有许多想看各种不同类型报表的需求,如果单独做在后台,那么无疑会浪费前端和后端开发的时间.所以一直都有在寻找一款好用的BI工具.后面查了一下,市面上好用的一些非商业的B ...
- C#中的函数(二) 有参有返回值的函数
接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...
- Linux使用rz命令上传文件
1.安装 yum -y install lrzsz 2.rz -be命令,选择需要上传的本地文件
- centos7编译安装pgbouncer
1.下载pgbouncer程序包和libevent依赖包 wget https://github.com/libevent/libevent/releases/download/release-2.1 ...
- 每天一道Rust-LeetCode(2019-06-02)
每天一道Rust-LeetCode(2019-06-02) Z 字形变换 坚持每天一道题,刷题学习Rust. LeetCode原题 Z 字形变换 题目描述 将一个给定字符串根据给定的行数,以从上往下. ...
- (9-4 )deepsort在ubuntu1604下配置
Deep Sort with PyTorch YOLO https://github.com/ZQPei/deep_sort_pytorch 查看python版本 python3 --version ...
- asp.net core nginx配置问题解决
1.无法访问nginx到发布的站点,但是使用原配置(nginx.conf)却可以.使用新建的配置conf.d/netcore.conf不行. 2.在windows浏览中访问http://xxx.xxx ...