基于 qxmpp 的应用程序无法连接到 Android 上的服务器,但在 windows 上运行良好

Application based on qxmpp can't connect to server on Android, but working well on windows

我在我的项目中使用 qxmpp 库。我尝试编写简单的应用程序来确定它是否连接到服务器。它在 Windows 上连接良好。然后我尝试在 Android 上测试它,但它没有连接,我不知道为什么,因为它没有显示错误。

应用 运行 在 Android 上正确运行,但 XMPP 协议似乎没有任何进展。没有连接和日志记录。我在 debug() 中得到的只有这一行:

D/libc-netbsd(  465): getaddrinfo: gmail.com get result from proxy >>

这是我的第一次尝试:

lbl.setText("is not Connected");
client.connectToServer("hami....@gmail.com", "asdasd");
while(!(client.isConnected())){
    a.processEvents();
}
lbl.setText("Connected");

它确实连接了,但只是在 Windows 上。我试过 GuiClient 项目,它们似乎都不起作用。

我更改了这一行

DEFINES +=  QXMPP_LIBRARY_TYPE=staticlib

DEFINES +=  QXMPP_LIBRARY_TYPE=shared

并构建 libqxmpp.so 但什么也没有。

我在应用程序的 .pro 文件中编写了这些行,用于将库添加到我的项目中。

CONFIG(debug, debug|release) {
    win32{
        QXMPP_LIBRARY_NAME_INC = qxmpp_d0
    } else {
        QXMPP_LIBRARY_NAME_INC = qxmpp_d
    }
}else{
    win32{
        QXMPP_LIBRARY_NAME_INC = qxmpp0
    }else{
        QXMPP_LIBRARY_NAME_INC = qxmpp
    }
}
LIBS += -L./qxmpp/src -l$$QXMPP_LIBRARY_NAME_INC

提前致谢。

那是因为 QDnsLookup 不是为 Android 开发的。 我通过使用我自己服务器的 IP 地址来解决这个问题。 (使用 IP 地址的 Google 服务器无法正常工作)