我花了10天时间尝试创建一个使用tls连接并登录ejabberd服务器的简单Java客户端。我使用Android Studio或eclipse。我已经尝试了我能找到的每一个例子,没有任何作用。
答案 0 :(得分:0)
首先,您必须在gradle文件中将库包含在项目中:
Add SMACK API to android project by adding dependencies in build.gradle for the app.
compile 'org.igniterealtime.smack:smack-android:4.1.4'
// Optional for XMPPTCPConnection
compile 'org.igniterealtime.smack:smack-tcp:4.1.4'
// Optional for XMPP-IM (RFC 6121) support (Roster, Threaded Chats)
compile 'org.igniterealtime.smack:smack-im:4.1.4'
// Optional for XMPP extensions support
compile 'org.igniterealtime.smack:smack-extensions:4.1.4'
然后像这样连接:
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setUsernameAndPassword(userName, passWord);
configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
configBuilder.setResource("Android");
configBuilder.setServiceName(DOMAIN);
configBuilder.setHost(HOST);
configBuilder.setPort(PORT);
//configBuilder.setDebuggerEnabled(true);
connection = new XMPPTCPConnection(configBuilder.build());
connection.addConnectionListener(connectionListener);
希望它能奏效。