问题描述
几个小时以来,我一直在尝试从我的 aSmack Android 客户端连接到我的(本地托管的)Openfire XMPP 服务器,但它仍然无法正常工作.
我得到一个 org.jivesoftware.smack.SmackException$ConnectionException
就是这样.
代码:
public class MainActivity extends Activity {@覆盖protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SmackAndroid.init(getApplicationContext());连接();}私人布尔连接(){XMPPConnection connection = new XMPPTCPConnection(HOST);尝试{连接.connect();connection.login("user", "user");}catch(异常 e){e.printStackTrace();}返回真;}
服务器已启动并正在运行.
主机是我的服务器名,也试过我的主机名,试过不同的端口...还尝试从另一个线程启动 connect() 方法.尝试使用登录或匿名连接,但在此之前抛出异常,在行:connection.connect();
非常感谢任何帮助.
不,不是.如果您查看 javadocConnectionException
:
如果 Smack 无法连接到所有,则抛出 ConnectionException给定 XMPP 服务的主机.可以使用以下命令检索失败的主机getFailedAddresses(),这将导致异常连接失败设置和检索HostAddress.getException().
因此调用 ConnectionException.getFailedAddresses()
来检索列表并使用 HostAddress.getException()
检查导致 Smack 无法连接到主机的原因.>
I have been trying to connect to my (locally hosted) Openfire XMPP server from my aSmack Android client for hours now, and it's still not working.
I get a org.jivesoftware.smack.SmackException$ConnectionException
and that's it.
Code:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SmackAndroid.init(getApplicationContext());
connect();
}
private boolean connect(){
XMPPConnection connection = new XMPPTCPConnection(HOST);
try{
connection.connect();
connection.login("user", "user");
}catch (Exception e){
e.printStackTrace();
}
return true;
}
Server is up and running.
Host is my server name, tried my host name too, tried different ports...Also tried to launch the connect() method from another thread.Tried to use a login or anonymous connection, but Exception is thrown before even that, at line: connection.connect();
Any help highly appreciated.
No, it's not. If you look at the javadoc for ConnectionException
:
So call ConnectionException.getFailedAddresses()
to retrieve the list and check with HostAddress.getException()
what caused Smack to be unable to connect to the host.
这篇关于尝试从 aSmack Android 客户端连接到 XMPP 服务器时出现 ConnectionException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!