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

时间:2015-02-18 14:45:47

标签: android qt5 qxmpp

我在我的项目中使用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

提前致谢。

1 个答案:

答案 0 :(得分:0)

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