基于 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 服务器无法正常工作)
我在我的项目中使用 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 服务器无法正常工作)