asmack XMPPTCPConnection忽略主机

时间:2014-09-12 11:45:10

标签: android xmpp smack

我正在尝试使用smack库的asmack构建,但是在第一步中遇到了困难。以下代码显示XMPPTCPConnection内的host为null。我已经在http://asmack.freakempire.de/

测试了可用的jar版本4.0.0和4.0.4
public class MainActivity extends Activity {

    public static final String HOST = "talk.google.com";
    public static final int PORT = 5222;
    public static final String SERVICE = "gmail.com";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Context context = getApplicationContext();
        SmackAndroid asmk = SmackAndroid.init(context);
        ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT, SERVICE);
        connConfig.setSecurityMode(SecurityMode.enabled);
        connConfig.setReconnectionAllowed(true);

        XMPPTCPConnection connection = new XMPPTCPConnection(connConfig);
        Log.i("XMPPChatDemoActivity", "Connection host " + connection.getHost());
    }
}

日志只显示I/XMPPChatDemoActivity(30917): Connection host null行。

我正在测试一个真正的Android 4.0设备。 ProGuard已被禁用,因为我正在使用ant debug模式进行编译。

1 个答案:

答案 0 :(得分:0)

不,它不会忽略ConnectionConfiguration的host设置。主持人'只有在您调用connect()后才会初始化,因为当使用XMPP和DNS SRV RR时,用于建立连接的实际主机只有在DNS查找完成后才可用。