这是关于在这里发帖的
我可以将我的 PC 连接到本地的本地 tigase 服务器设置(我正在使用 Smack API)。现在,当我想通过 Wi-Fi 将 Android 手机连接到该服务器时,我遇到了问题。我可以使用客户端 Beem for android 连接到本地服务器。我的 XMPP 服务器域名是我的 PC 名称“mwbn43-1”,IP 地址是“192.168.0.221”(我可以从安卓终端模拟器)。在 Beem 设置中有一个高级选项,我可以在其中指定要连接的服务器(我已将其作为 IP 地址给出)。如果我不设置此选项,我将无法连接。现在这里是片段我用于我的 android 客户端的代码。
XMPPConnection.DEBUG_ENABLED = true;
ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1",5222);
//ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.221",5222);
config.setSASLAuthenticationEnabled(false);
config.setCompressionEnabled(false);
XMPPConnection xmpp = new XMPPConnection(config);
try {
xmpp.connect();
xmpp.login("admin@mwbn43-1", "tigase");
String host = xmpp.getHost();
String id = xmpp.getConnectionID();
int port = xmpp.getPort();
boolean i = false;
i = xmpp.isConnected();
if(i)
{answer = "Connected to " + host + " via port " + port + " with ID " + id;
answerfield.setText(answer);}
}//end try
catch (XMPPException e) {
answerfield.setText("Failed to connect");
Log.v(TAG, "Failed to connect to " + xmpp.getHost());
e.printStackTrace();
在此代码的帮助下,我还可以连接到 Google Talk 服务器。在与本地服务器建立连接时,我尝试提供 IP 地址和主机名进行连接。当我提供 IP 地址(192.168.0.221)时,我得到“无响应”来自带有流的服务器错误:错误(主机未知),当我给出主机名(mwbn43-1)时,我得到主机未解析的“远程服务器超时(504)”。
我查看了 Beem 的代码,看看它是如何与服务器连接的,但找不到太多。我还授予了 Internet 的用户权限。谁能告诉我应该添加哪些代码行来与本地服务器通信。