所有已知的实现类:
AbstractXMPPConnection,XMPPBOSHConnection,XMPPTCPConnection
公共接口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](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html)`
所有方法实例方法抽象方法不推荐使用的方法
修饰符和类型
方法和描述
void
[addAsyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
使用此连接注册异步节侦听器。
void
[addConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addConnectionListener-org.jivesoftware.smack.ConnectionListener-)([ConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ConnectionListener.html) connectionListener)
向此连接添加连接侦听器,该连接将在连接关闭或失败时收到通知。
void
[addOneTimeSyncCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addOneTimeSyncCallback-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
添加一个只调用一次并与与给定节过滤器匹配的传入节同步的回调。
void
[addPacketInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addPacketInterceptor-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaInterceptor, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
已过时。
void
[addPacketSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addPacketSendingListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
已过时。
void
[addStanzaInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaInterceptor-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaInterceptor, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
使用此连接注册节拦截器。
void
[addStanzaSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaSendingListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
使用此连接注册节听众。
void
[addSyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addSyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
使用此连接注册同步节监听器。
[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)
[createStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollector-org.jivesoftware.smack.StanzaCollector.Configuration-)([StanzaCollector.Configuration](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.Configuration.html) configuration)
使用给定的节收集器配置创建新的节收集器。
[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)
[createStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollector-org.jivesoftware.smack.filter.StanzaFilter-)([StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter)
为此连接创建新的节收集器。
[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)
[createStanzaCollectorAndSend](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollectorAndSend-org.jivesoftware.smack.packet.IQ-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) request)
创建一个新的节收集器,收集回复IQ的IQ响应request
。
[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)
[createStanzaCollectorAndSend](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollectorAndSend-org.jivesoftware.smack.filter.StanzaFilter-org.jivesoftware.smack.packet.Stanza-)([StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) stanzaFilter, [Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) stanza)
为此连接创建新的节收集器。
int
[getConnectionCounter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getConnectionCounter--)()
获取此XMPPConnection实例的连接计数器。
<F extends [ExtensionElement](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/ExtensionElement.html)>
F
[getFeature](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getFeature-java.lang.String-java.lang.String-)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) element, [String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) namespace)
获取服务器的给定流功能的功能节扩展,或者null
服务器是否不支持该功能。
[XMPPConnection.FromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html)
[getFromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getFromMode--)()
获取当前活动的FromMode。
[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true)
[getHost](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getHost--)()
返回运行XMPP服务器的服务器的主机名。
long
[getLastStanzaReceived](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getLastStanzaReceived--)()
返回收到最后一节时的时间戳(以毫秒为单位)。
int
[getPort](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getPort--)()
返回此连接的XMPP服务器的端口号。
long
[getReplyTimeout](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getReplyTimeout--)()
返回请求此XMPPConnection实例的回复超时的当前值(以毫秒为单位)。
[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true)
[getStreamId](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getStreamId--)()
返回此连接的流ID,这是服务器在打开XMPP流时设置的值。
org.jxmpp.jid.EntityFullJid
[getUser](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getUser--)()
返回登录到连接的用户的完整XMPP地址,如果尚未登录,则返回 null。
org.jxmpp.jid.DomainBareJid
[getXMPPServiceDomain](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#getXMPPServiceDomain--)()
返回XMPP服务器提供并用于此连接的服务的XMPP域。
boolean
[hasFeature](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#hasFeature-java.lang.String-java.lang.String-)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) element, [String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) namespace)
如果服务器支持给定的流功能,则返回true。
boolean
[isAnonymous](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#isAnonymous--)()
如果当前以匿名方式验证,则返回true。
boolean
[isAuthenticated](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#isAuthenticated--)()
如果当前通过成功调用login方法进行身份验证,则返回true。
boolean
[isConnected](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#isConnected--)()
如果当前连接到XMPP服务器,则返回true。
boolean
[isSecureConnection](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#isSecureConnection--)()
如果与服务器的连接已成功协商加密,则返回true。
boolean
[isUsingCompression](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#isUsingCompression--)()
如果正在压缩网络流量,则返回true。
[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)
[registerIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#registerIQRequestHandler-org.jivesoftware.smack.iqrequest.IQRequestHandler-)([IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html) iqRequestHandler)
使用此连接注册IQ请求处理程序。
boolean
[removeAsyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener)
从此连接中删除已接收节的异步节侦听器。
void
[removeConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeConnectionListener-org.jivesoftware.smack.ConnectionListener-)([ConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ConnectionListener.html) connectionListener)
从此连接中删除连接侦听器。
void
[removePacketInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removePacketInterceptor-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaInterceptor)
已过时。
用户removeStanzaInterceptor(org.jivesoftware.smack.StanzaListener)
而不是
void
[removePacketSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removePacketSendingListener-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener)
已过时。
使用removeStanzaSendingListener(org.jivesoftware.smack.StanzaListener)
替代
void
[removeStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeStanzaCollector-org.jivesoftware.smack.StanzaCollector-)([StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html) collector)
删除此连接的节收集器。
void
[removeStanzaInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeStanzaInterceptor-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaInterceptor)
删除节拦截器。
void
[removeStanzaSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeStanzaSendingListener-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener)
删除用于从此连接发送节的节侦听器。
boolean
[removeSyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeSyncStanzaListener-org.jivesoftware.smack.StanzaListener-)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) stanzaListener)
从此连接中删除已接收节的节监听器。
<S extends [Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html)>
[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html)<S,[Exception](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true)>
[sendAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendAsync-S-org.jivesoftware.smack.filter.StanzaFilter-)(S stanza, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) replyFilter)
异步发送节,使用给定的回复过滤器等待一个响应节。
<S extends [Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html)>
[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html)<S,[Exception](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true)>
[sendAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendAsync-S-org.jivesoftware.smack.filter.StanzaFilter-long-)(S stanza, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) replyFilter, long timeout)
异步发送节,使用给定的回复过滤器等待一个响应节。
<I extends [IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html)>
I
[sendIqRequestAndWaitForResponse](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAndWaitForResponse-org.jivesoftware.smack.packet.IQ-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) request)
发送IQ请求并等待响应。
[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html)<[IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html),[Exception](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true)>
[sendIqRequestAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAsync-org.jivesoftware.smack.packet.IQ-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) request)
异步发送IQ请求。
[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html)<[IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html),[Exception](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true)>
[sendIqRequestAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAsync-org.jivesoftware.smack.packet.IQ-long-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) request, long timeout)
异步发送IQ请求。
void
[sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqWithResponseCallback-org.jivesoftware.smack.packet.IQ-org.jivesoftware.smack.StanzaListener-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) iqRequest, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback)
已过时。
使用sendIqRequestAsync(IQ)
来代替。
void
[sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqWithResponseCallback-org.jivesoftware.smack.packet.IQ-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.ExceptionCallback-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) iqRequest, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback, [ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) exceptionCallback)
已过时。
使用sendIqRequestAsync(IQ)
来代替。
void
[sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqWithResponseCallback-org.jivesoftware.smack.packet.IQ-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.ExceptionCallback-long-)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) iqRequest, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback, [ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) exceptionCallback, long timeout)
已过时。
使用sendIqRequestAsync(IQ, long)
来代替。
void
[sendNonza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendNonza-org.jivesoftware.smack.packet.Nonza-)([Nonza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Nonza.html) nonza)
发送Nonza。
void
[sendStanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendStanza-org.jivesoftware.smack.packet.Stanza-)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) stanza)
将指定的节发送到服务器。
void
[sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendStanzaWithResponseCallback-org.jivesoftware.smack.packet.Stanza-org.jivesoftware.smack.filter.StanzaFilter-org.jivesoftware.smack.StanzaListener-)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) stanza, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) replyFilter, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback)
已过时。
使用sendAsync(Stanza, StanzaFilter)
来代替。
void
[sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendStanzaWithResponseCallback-org.jivesoftware.smack.packet.Stanza-org.jivesoftware.smack.filter.StanzaFilter-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.ExceptionCallback-)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) stanza, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) replyFilter, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback,[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) exceptionCallback)
已过时。
使用sendAsync(Stanza, StanzaFilter)
来代替。
void
[sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendStanzaWithResponseCallback-org.jivesoftware.smack.packet.Stanza-org.jivesoftware.smack.filter.StanzaFilter-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.ExceptionCallback-long-)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) stanza, [StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) replyFilter, [StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) callback,[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) exceptionCallback, long timeout)
已过时。
使用sendAsync(Stanza, StanzaFilter, long)
来代替。
void
[setFromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#setFromMode-org.jivesoftware.smack.XMPPConnection.FromMode-)([XMPPConnection.FromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html) fromMode)
为此连接实例设置FromMode。
void
[setReplyTimeout](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#setReplyTimeout-long-)(long timeout)
设置节回复超时(以毫秒为单位)。
[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)
[unregisterIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#unregisterIQRequestHandler-org.jivesoftware.smack.iqrequest.IQRequestHandler-)([IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html) iqRequestHandler)
方便的方法unregisterIQRequestHandler(String, String, org.jivesoftware.smack.packet.IQ.Type)
。
[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)
[unregisterIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#unregisterIQRequestHandler-java.lang.String-java.lang.String-org.jivesoftware.smack.packet.IQ.Type-)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) element, [String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) namespace, [IQ.Type](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.Type.html) type)
使用此连接取消注册IQ请求处理程序。
* ### 方法细节
* #### getXMPPServiceDomainorg.jxmpp.jid.DomainBareJid&nbsp; [getXMPPServiceDomain](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.82)()
返回XMPP服务器提供并用于此连接的服务的XMPP域。在使用服务器进行身份验证后,返回的值可能不同。
返回:
此XMPP会话的XMPP域。
* #### 和getHost[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true)&nbsp;[getHost](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.90)()
返回运行XMPP服务器的服务器的主机名。这将是服务器的IP地址或可由DNS服务器解析的名称。
返回:
运行XMPP服务器的服务器的主机名,如果尚未连接,则为null。
* #### 的getPortint&nbsp; [getPort](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.98)()
返回此连接的XMPP服务器的端口号。正常连接的默认端口是5222。
返回:
XMPP服务器的端口号,如果尚未连接,则为0。
* #### 的getUserorg.jxmpp.jid.EntityFullJid&nbsp; [getUser](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.107)()
返回登录到连接的用户的完整XMPP地址,如果尚未登录,则返回&nbsp;null。XMPP地址的格式为username @ server / resource。
返回:
登录用户的完整XMPP地址。
* #### getStreamId[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true)&nbsp;[getStreamId](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.117)()
返回此连接的流ID,这是服务器在打开XMPP流时设置的值。如果未连接到服务器,则此值将为null。
返回:
从XMPP服务器返回的此连接的ID,如果未连接到服务器,则返回null。
也可以看看:
[RFC6120§4.7.3。ID](http://xmpp.org/rfcs/rfc6120.html#streams-attr-id)
* #### 已连接boolean&nbsp; [isConnected](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.124)()
如果当前连接到XMPP服务器,则返回true。
返回:
如果连接则为true。
* #### isAuthenticatedboolean&nbsp; [isAuthenticated](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.131)()
如果当前通过成功调用login方法进行身份验证,则返回true。
返回:
如果已通过身份验证,
* #### isAnonymousboolean&nbsp; [isAnonymous](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.138)()
如果当前以匿名方式验证,则返回true。
返回:
如果匿名验证,则为true。
* #### isSecureConnectionboolean&nbsp; [isSecureConnection](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.145)()
如果与服务器的连接已成功协商加密,则返回true。
返回:
如果与服务器的安全连接,则为true。
* #### isUsingCompressionboolean&nbsp; [isUsingCompression](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.155)()
如果正在压缩网络流量,则返回true。使用流压缩时,网络流量可减少高达90%。因此,当使用慢速网络连接时,流压缩是理想的。但是,服务器需要使用更多的CPU时间来解压缩/压缩网络数据,因此在高负载下服务器性能可能会受到影响。
返回:
如果正在压缩网络流量,则为true。
* #### sendStanzavoid&nbsp; [sendStanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.164)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) &nbsp;stanza)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
将指定的节发送到服务器。
参数:
`stanza`&nbsp;- 要发送的节。
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`&nbsp;- 如果未连接连接。
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendNonzavoid&nbsp; [sendNonza](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.178)([Nonza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Nonza.html) &nbsp;nonza)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
发送Nonza。
**此方法不适用于最终用户使用!**它允许发送普通流元素,这不应由用户手动完成。**这样做可能会导致连接不稳定或无法使用。**某些Smack API使用此方法发送纯流元素。
参数:
`nonza`&nbsp;- 要发送的Nonza。
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### addConnectionListenervoid&nbsp; [addConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.186)([ConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ConnectionListener.html) &nbsp;connectionListener)
向此连接添加连接侦听器,该连接将在连接关闭或失败时收到通知。
参数:
`connectionListener`&nbsp;- 连接侦听器。
* #### removeConnectionListenervoid&nbsp; [removeConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.193)([ConnectionListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ConnectionListener.html) &nbsp;connectionListener)
从此连接中删除连接侦听器。
参数:
`connectionListener`&nbsp;- 连接侦听器。
* #### sendIqRequestAndWaitForResponse<我扩展了[IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) >我&nbsp; [sendIqRequestAndWaitForResponse](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.206)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;请求)
抛出[SmackException.NoResponseException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html),
[XMPPException.XMPPErrorException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPException.XMPPErrorException.html),
[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
发送IQ请求并等待响应。
参数:
`request`&nbsp;- IQ请求
返回:
具有“结果”类型的IQ
抛出:
`[SmackException.NoResponseException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)`
`[XMPPException.XMPPErrorException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPException.XMPPErrorException.html)`
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
以来:
4.3
* #### createStanzaCollectorAndSend[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)&nbsp;[createStanzaCollectorAndSend](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.220)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;请求)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
创建一个新的节收集器,收集回复IQ的IQ响应`request`。也发送`request`智商。收集器的节过滤器是一个&nbsp;[`IQReplyFilter`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/IQReplyFilter.html),保证'from'地址中的节id和JID具有预期值。
参数:
`request`&nbsp;- 过滤响应的IQ请求
返回:
一个新的节收集器。
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### createStanzaCollectorAndSend[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)&nbsp;[createStanzaCollectorAndSend](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.234)([StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter,
[Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) &nbsp;stanza)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
为此连接创建新的节收集器。节过滤器确定收集器将累积哪些节。StanzaCollector比[`StanzaListener`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html)您需要等待特定结果时更适合使用。
参数:
`stanzaFilter`&nbsp;- 要使用的节过滤器。
`stanza`&nbsp;- 收集器创建后立即发送的节
返回:
一个新的节收集器。
抛出:
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
* #### createStanzaCollector[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)&nbsp;[createStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.253)([StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
为此连接创建新的节收集器。节过滤器确定收集器将累积哪些节。StanzaCollector比[`StanzaListener`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html)&nbsp;您需要等待特定结果时更适合使用。
**注意:**如果您在使用此方法后立即发送Stanza,请考虑使用&nbsp;[`createStanzaCollectorAndSend(StanzaFilter, Stanza)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollectorAndSend-org.jivesoftware.smack.filter.StanzaFilter-org.jivesoftware.smack.packet.Stanza-)。否则,请确保在每种情况下取消StanzaCollector,例如,即使抛出异常,否则您可能会泄漏StanzaCollector。
参数:
`stanzaFilter`&nbsp;- 要使用的节过滤器。
返回:
一个新的节收集器。
* #### createStanzaCollector[StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)&nbsp;[createStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.266)([StanzaCollector.Configuration](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.Configuration.html) &nbsp;配置)
使用给定的节收集器配置创建新的节收集器。
请确保在不再需要时取消收集器。另见&nbsp;[`createStanzaCollector(StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#createStanzaCollector-org.jivesoftware.smack.filter.StanzaFilter-)。
参数:
`configuration`&nbsp;- 节收集器配置。
返回:
一个新的节收集器。
以来:
4.1
* #### removeStanzaCollectorvoid&nbsp; [removeStanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.273)([StanzaCollector](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html) &nbsp;collector)
删除此连接的节收集器。
参数:
`collector`&nbsp;- 为此连接创建的节收集器。
* #### addSyncStanzaListenervoid&nbsp; [addSyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.292)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
使用此连接注册**同步**节监听器。只有在收到传入的节时才会调用节监听器。节属过滤器确定将哪些节传递给侦听器。如果使用不同的过滤器再次添加相同的节监听器,则仅使用新过滤器。
**重要提示:**此节的侦听器将在处理所有传入节的同_一个_线程中调用。如果它不执行等待响应的任何XMPP活动,则仅使用此类节过滤器。考虑[`addAsyncStanzaListener(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)在可能的情况下使用,即调用顺序不必与到达节的顺序相同。如果到达节的顺序,请考虑[`StanzaCollector`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaCollector.html)尽可能使用。
参数:
`stanzaListener`&nbsp;- 节听众通知新收到的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
以来:
4.1
也可以看看:
[`addStanzaInterceptor(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaInterceptor-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)
* #### removeSyncStanzaListenerboolean&nbsp; [removeSyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.301)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener)
从此连接中删除已接收节的节监听器。
参数:
`stanzaListener`&nbsp;- 要删除的节听众。
返回:
如果删除了节侦听器,则为true
以来:
4.1
* #### addAsyncStanzaListenervoid&nbsp; [addAsyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.318)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
使用此连接注册**异步**节侦听器。只有在收到传入的节时才会调用节监听器。节属过滤器确定将哪些节传递给侦听器。如果使用不同的过滤器再次添加相同的节监听器,则仅使用新过滤器。
与[`addAsyncStanzaListener(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)stanza监听器不同,使用此方法添加的侦听器将在其自己的线程中异步调用。如果节听众的顺序不一定取决于接收节的顺序,请使用此方法。
参数:
`stanzaListener`&nbsp;- 节听众通知新收到的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
以来:
4.1
也可以看看:
[`addStanzaInterceptor(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaInterceptor-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)
* #### removeAsyncStanzaListenerboolean&nbsp; [removeAsyncStanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.327)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener)
从此连接中删除已接收节的**异步**节侦听器。
参数:
`stanzaListener`&nbsp;- 要删除的节听众。
返回:
如果删除了节侦听器,则为true
以来:
4.1
* #### addPacketSendingListener[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [addPacketSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.343)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
已过时。&nbsp;使用[`addStanzaSendingListener(org.jivesoftware.smack.StanzaListener, org.jivesoftware.smack.filter.StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaSendingListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)替代
使用此连接注册节听众。将通知侦听器此连接发送的每个节。节属过滤器确定将哪些节传递给侦听器。请注意,写入节的线程将用于调用侦听器。因此,每个节监听器应该快速完成所有操作或使用不同的线程进行处理。
参数:
`stanzaListener`&nbsp;- 节听众通知发送的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
* #### addStanzaSendingListenervoid&nbsp; [addStanzaSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.356)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
使用此连接注册节听众。将通知侦听器此连接发送的每个节。节属过滤器确定将哪些节传递给侦听器。请注意,写入节的线程将用于调用侦听器。因此,每个节监听器应该快速完成所有操作或使用不同的线程进行处理。
参数:
`stanzaListener`&nbsp;- 节听众通知发送的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
* #### removePacketSendingListener[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [removePacketSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.366)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener)
已过时。&nbsp;使用[`removeStanzaSendingListener(org.jivesoftware.smack.StanzaListener)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeStanzaSendingListener-org.jivesoftware.smack.StanzaListener-)替代
删除用于从此连接发送节的节侦听器。
参数:
`stanzaListener`&nbsp;- 要删除的节听众。
* #### removeStanzaSendingListenervoid&nbsp; [removeStanzaSendingListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.373)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaListener)
删除用于从此连接发送节的节侦听器。
参数:
`stanzaListener`&nbsp;- 要删除的节听众。
* #### addPacketInterceptor[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [addPacketInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.391)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaInterceptor,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
已过时。&nbsp;使用[`addStanzaInterceptor(org.jivesoftware.smack.StanzaListener, org.jivesoftware.smack.filter.StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addStanzaInterceptor-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)替代
使用此连接注册节拦截器。每次要通过此连接发送节时,都会调用拦截器。拦截器可以修改要发送的节。节过滤器确定将哪些节传递给拦截器。
注意:有关传入节的类似功能,请参阅[`addAsyncStanzaListener(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)。
参数:
`stanzaInterceptor`&nbsp;- 节消息拦截器通知要发送的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
* #### addStanzaInterceptorvoid&nbsp; [addStanzaInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.406)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaInterceptor,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
使用此连接注册节拦截器。每次要通过此连接发送节时,都会调用拦截器。拦截器可以修改要发送的节。节过滤器确定将哪些节传递给拦截器。
注意:有关传入节的类似功能,请参阅[`addAsyncStanzaListener(StanzaListener, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#addAsyncStanzaListener-org.jivesoftware.smack.StanzaListener-org.jivesoftware.smack.filter.StanzaFilter-)。
参数:
`stanzaInterceptor`&nbsp;- 节消息拦截器通知要发送的节。
`stanzaFilter`&nbsp;- 要使用的节过滤器。
* #### removePacketInterceptor[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [removePacketInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.416)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaInterceptor)
已过时。&nbsp;用户[`removeStanzaInterceptor(org.jivesoftware.smack.StanzaListener)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#removeStanzaInterceptor-org.jivesoftware.smack.StanzaListener-)而不是
删除节拦截器。
参数:
`stanzaInterceptor`&nbsp;- 要删除的节拦截器。
* #### removeStanzaInterceptorvoid&nbsp; [removeStanzaInterceptor](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.423)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;stanzaInterceptor)
删除节拦截器。
参数:
`stanzaInterceptor`&nbsp;- 要删除的节拦截器。
* #### getReplyTimeoutlong&nbsp; [getReplyTimeout](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.431)()
返回请求此XMPPConnection实例的回复超时的当前值(以毫秒为单位)。
返回:
回复超时(以毫秒为单位)
* #### setReplyTimeoutvoid&nbsp; [setReplyTimeout](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.439)(long timeout)
设置节回复超时(以毫秒为单位)。在大多数情况下,[`SmackException.NoResponseException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)如果在超时期限内收到请求没有回复,Smack将抛出一个&nbsp;。
参数:
`timeout`&nbsp;- 以毫秒为单位的回复
* #### getConnectionCounterint&nbsp; [getConnectionCounter](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.448)()
获取此XMPPConnection实例的连接计数器。这些可以用作ID来标识连接,但要注意,如果您在计数器可以包装时创建超过2 \*个Integer.MAX\_VALUE实例,则ID可能不是唯一的&nbsp;。
返回:
这个XMPPConnection的连接计数器
* #### setFromModevoid&nbsp; [setFromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.473)([XMPPConnection.FromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html) &nbsp;fromMode)
为此连接实例设置FromMode。定义如何通过Smack填充传出节的'from'属性。
参数:
`fromMode`&nbsp;-
* #### getFromMode[XMPPConnection.FromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html)&nbsp;[getFromMode](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.480)()
获取当前活动的FromMode。
返回:
目前活跃的&nbsp;[`XMPPConnection.FromMode`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.FromMode.html)
* #### getFeature<F extends [ExtensionElement](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/ExtensionElement.html) > F&nbsp; [getFeature](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.491)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;element,
[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;namespace)
获取服务器的给定流功能的功能节扩展,或者`null`服务器是否不支持该功能。
类型参数:
`F`\-&nbsp;[`ExtensionElement`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/ExtensionElement.html)功能类型。
参数:
`element`&nbsp;-
`namespace`&nbsp;-
返回:
功能或节的节扩展&nbsp;`null`
* #### hasFeatureboolean&nbsp; [hasFeature](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.500)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;element,
[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;namespace)
如果服务器支持给定的流功能,则返回true。
参数:
`element`&nbsp;-
`namespace`&nbsp;-
返回:
如果服务器支持流功能,则为true。
* #### sendIqRequestAsync[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html) < [IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html),[异常](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true) >&nbsp; [sendIqRequestAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.508)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;请求)
异步发送IQ请求。将使用连接的默认回复超时。
参数:
`request`&nbsp;- 要发送的IQ请求。
返回:
一个SmackFuture的响应。
* #### sendIqRequestAsync[SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html) < [IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html),[Exception](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true) >&nbsp; [sendIqRequestAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.517)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;请求,
长时间超时)
异步发送IQ请求。
参数:
`request`&nbsp;- 要发送的IQ请求。
`timeout`&nbsp;- 以毫秒为单位的回复超时。
返回:
一个SmackFuture的响应。
* #### sendAsync<S扩展[Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) >&nbsp; [SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html) <S,[例外](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true) >&nbsp; [sendAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.527)(S stanza,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;replyFilter)
异步发送节,使用给定的回复过滤器等待一个响应节。将使用连接的默认回复超时。
参数:
`stanza`&nbsp;- 要发送的节。
`replyFilter`&nbsp;- 用于响应节的过滤器。
返回:
一个SmackFuture的响应。
* #### sendAsync<S扩展[Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) >&nbsp; [SmackFuture](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackFuture.html) <S,[例外](https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true) >&nbsp; [sendAsync](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.537)(S stanza,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;replyFilter,
长时间超时)
异步发送节,使用给定的回复过滤器等待一个响应节。
参数:
`stanza`&nbsp;- 要发送的节。
`replyFilter`&nbsp;- 用于响应节的过滤器。
`timeout`&nbsp;- 以毫秒为单位的回复超时。
返回:
一个SmackFuture的响应。
* #### sendStanzaWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.556)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) &nbsp;stanza,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;replyFilter,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;callback)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendAsync(Stanza, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendAsync-S-org.jivesoftware.smack.filter.StanzaFilter-)来代替。
发送一个节并使用异步等待响应`replyFilter`。
如果有响应,`callback`则会被调用。回调最多只会被调用一次,并且在连接默认回复超时结束后不会调用它。
参数:
`stanza`&nbsp;- 要发送的节(必填)
`replyFilter`&nbsp;- 用于确定响应节的过滤器(必需)
`callback`&nbsp;- 如果有响应,则调用回调(必需)
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendStanzaWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.577)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) &nbsp;stanza,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;replyFilter,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;callback,
[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) &nbsp;exceptionCallback)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendAsync(Stanza, StanzaFilter)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendAsync-S-org.jivesoftware.smack.filter.StanzaFilter-)来代替。
发送一个节并使用异步等待响应`replyFilter`。
如果有响应,`callback`则会被调用。如果在连接默认回复超时后没有响应,则将`exceptionCallback`使用a调用[`SmackException.NoResponseException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)。回调最多只能调用一次。
参数:
`stanza`&nbsp;- 要发送的节(必填)
`replyFilter`&nbsp;- 用于确定响应节的过滤器(必需)
`callback`&nbsp;- 如果有响应,则调用回调(必需)
`exceptionCallback`&nbsp;- 如果有异常,则调用回调(可选)
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendStanzaWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendStanzaWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.599)([Stanza](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/Stanza.html) &nbsp;stanza,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;replyFilter,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;回调,
[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) &nbsp;exceptionCallback,
长时间超时)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendAsync(Stanza, StanzaFilter, long)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendAsync-S-org.jivesoftware.smack.filter.StanzaFilter-long-)来代替。
发送一个节并使用异步等待响应`replyFilter`。
如果有响应,`callback`则会被调用。如果在`timeout`毫秒之后没有响应,那么`exceptionCallback`将使用a调用[`SmackException.NoResponseException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)。回调最多只能调用一次。
参数:
`stanza`&nbsp;- 要发送的节(必填)
`replyFilter`&nbsp;- 用于确定响应节的过滤器(必需)
`callback`&nbsp;- 如果有响应,则调用回调(必需)
`exceptionCallback`&nbsp;- 如果有异常,则调用回调(可选)
`timeout`&nbsp;- 等待响应的超时(以毫秒为单位)
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendIqWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.616)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;iqRequest,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;回调)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendIqRequestAsync(IQ)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAsync-org.jivesoftware.smack.packet.IQ-)来代替。
发送IQ节并在结果IQ&nbsp;`callback`结果时&nbsp;调用[`IQ.Type.result`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.Type.html#result)。连接默认回复超时后,将不会调用回调。
参数:
`iqRequest`&nbsp;- 要发送的IQ节(必填)
`callback`&nbsp;- 如果有结果响应,则调用回调(必需)
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendIqWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.635)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;iqRequest,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;回调,
[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) &nbsp;exceptionCallback)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendIqRequestAsync(IQ)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAsync-org.jivesoftware.smack.packet.IQ-)来代替。
发送IQ节并在结果IQ&nbsp;`callback`结果时&nbsp;调用[`IQ.Type.result`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.Type.html#result)。如果有错误响应`exceptionCallback`将被调用,如果不为null,则收到的错误为[`XMPPException.XMPPErrorException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPException.XMPPErrorException.html)。如果在连接默认回复超时后没有响应,则将`exceptionCallback`使用a调用&nbsp;[`SmackException.NoResponseException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)。
参数:
`iqRequest`&nbsp;- 要发送的IQ节(必填)
`callback`&nbsp;- 如果有结果响应,则调用回调(必需)
`exceptionCallback`&nbsp;- 如果存在Exception可选,则调用回调
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### sendIqWithResponseCallback[@Deprecated](https://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true)
void&nbsp; [sendIqWithResponseCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.656)([IQ](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.html) &nbsp;iqRequest,
[StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;回调,
[ExceptionCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/ExceptionCallback.html) &nbsp;exceptionCallback,
长时间超时)
抛出[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html),
[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)
已过时。&nbsp;使用[`sendIqRequestAsync(IQ, long)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#sendIqRequestAsync-org.jivesoftware.smack.packet.IQ-long-)来代替。
发送IQ节并在结果IQ&nbsp;`callback`结果时&nbsp;调用[`IQ.Type.result`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.Type.html#result)。如果有错误响应`exceptionCallback`将被调用,如果不为null,则收到的错误为[`XMPPException.XMPPErrorException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPException.XMPPErrorException.html)。如果之后没有响应&nbsp;`timeout`,那么`exceptionCallback`将使用a调用&nbsp;[`SmackException.NoResponseException`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NoResponseException.html)。
参数:
`iqRequest`&nbsp;- 要发送的IQ节(必填)
`callback`&nbsp;- 如果有结果响应,则调用回调(必需)
`exceptionCallback`&nbsp;- 如果存在Exception可选,则调用回调
`timeout`&nbsp;- 等待响应的超时(以毫秒为单位)
抛出:
`[SmackException.NotConnectedException](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/SmackException.NotConnectedException.html)`
`[InterruptedException](https://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true)`
* #### addOneTimeSyncCallbackvoid&nbsp; [addOneTimeSyncCallback](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.667)([StanzaListener](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/StanzaListener.html) &nbsp;回调,
[StanzaFilter](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/filter/StanzaFilter.html) &nbsp;stanzaFilter)
添加一个只调用一次并与与给定节过滤器匹配的传入节同步的回调。
参数:
`callback`&nbsp;- 一个节过滤器匹配节后调用的回调。
`stanzaFilter`&nbsp;- 匹配节的过滤器或null以匹配所有。
* #### registerIQRequestHandler[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)&nbsp;[registerIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.677)([IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html) &nbsp;iqRequestHandler)
使用此连接注册IQ请求处理程序。
IQ请求处理程序处理传入的IQ请求,即“get”或“set”类型的传入IQ节,并返回结果。
参数:
`iqRequestHandler`&nbsp;- 要注册的IQ请求处理程序。
返回:
以前注册的IQ请求处理程序或null。
* #### unregisterIQRequestHandler[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)&nbsp;[unregisterIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.685)([IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html) &nbsp;iqRequestHandler)
方便的方法[`unregisterIQRequestHandler(String, String, org.jivesoftware.smack.packet.IQ.Type)`](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html#unregisterIQRequestHandler-java.lang.String-java.lang.String-org.jivesoftware.smack.packet.IQ.Type-)。
参数:
`iqRequestHandler`&nbsp;-
返回:
以前注册的IQ请求处理程序或null。
* #### unregisterIQRequestHandler[IQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/iqrequest/IQRequestHandler.html)&nbsp;[unregisterIQRequestHandler](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.695)([String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;element,
[String](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true) &nbsp;namespace,
[IQ.Type](http://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/IQ.Type.html) &nbsp;type)
使用此连接取消注册IQ请求处理程序。
参数:
`element`&nbsp;- IQ请求处理程序负责的IQ元素。
`namespace`&nbsp;- IQ请求处理程序负责的IQ名称空间。
`type`&nbsp;- IQ请求处理程序负责的IQ类型。
返回:
以前注册的IQ请求处理程序或null。
* #### getLastStanzaReceivedlong&nbsp; [getLastStanzaReceived](http://download.igniterealtime.org/smack/docs/latest/javadoc/src-html/org/jivesoftware/smack/XMPPConnection.html#line.702)()
返回收到最后一节时的时间戳(以毫秒为单位)。
返回:
时间戳,以毫秒为单位</code></pre></li>
手机扫一扫
移动阅读更方便
你可能感兴趣的文章