1

我正在尝试为 IM 做一个无服务器应用程序。我使用苹果 bonjour 协议来发现 xmpp 服务。但是一旦我得到这些,我就无法连接到我的主机(使用 pidgin + bonjour 的 Linux 计算机)。

这是我的代码(取自这里):

public class Xmpp extends AsyncTask<Void, Void, Void>
{
    @Override
    protected Void doInBackground(Void... arg0)
    {
        ConnectionConfiguration connConfig =
                new ConnectionConfiguration("192.168.0.11", 5298, "bonjour");
        XMPPConnection connection = new XMPPConnection(connConfig);
         try
        {
            // Connect to the server
            connection.connect();
             // Most servers require you to login before performing other tasks.
            connection.login("grea08", "mypass");
            // Start a new conversation with John Doe and send him a message.
            Chat chat = connection.getChatManager().createChat("grea09@192.168.0.11", new MessageListener() {


                 public void processMessage(Chat chat, Message message) {
                     // Print out any messages we get back to standard out.
                     Log.v(getClass().getName(), "Received message: " + message);
                 }
             });

            chat.sendMessage("Howdy!");
        } catch (XMPPException e)
        {
            // TODO Auto-generated catch block
            Log.e(getClass().getName(), "Xmpp error !", e);
        }
         // Disconnect from the server
         connection.disconnect();
        return null;
    }

}

我收到XmppException“服务器无响应”。我认为主机不是 XMPP 服务器,我们必须以这种方式使用协议。

4

3 回答 3

1

Smack 和 aSmack 不支持XEP-0174(又名链接本地或无服务器消息传递)。乔纳斯补丁从未进入后备箱。要跟踪的相应问题是SMACK-262

于 2012-06-04T15:58:46.493 回答
1

Gibberbot开源项目支持 XMPPBonjour 无服务器通信。

它也可以从 Google Play 安装

也许您可以查看其来源并为您的应用提取相关代码。:-)

于 2013-05-28T07:41:32.223 回答
0

尝试XMPPConnection使用配置创建您的:

ConnectionConfiguration config = new ConnectionConfiguration("192.189.0.11", port);
//Set optional configurations on the config object.
Connection connection = new XMPPConnection(config);
于 2012-06-04T14:57:40.367 回答