如何在使用 Smack 发送聊天时检测错误

Posted

技术标签:

【中文标题】如何在使用 Smack 发送聊天时检测错误【英文标题】:How to detect an error while sending a chat using Smack 【发布时间】:2013-04-07 19:11:38 【问题描述】:

我正在使用 smack 发送聊天消息。在测试时我发现,当网络不可用时,API 不会抛出任何异常。

我的代码:

Chat chat = connection.getChatManager().createChat(
        "abc@gmail.com", new MessageListener() 

            @Override
            public void processMessage(Chat arg0, Message arg1) 
                System.out.println(arg1.getFrom() + "  says  " + arg1.getBody());

            
        );
// I Put a break point here and deliberately disable the network.
// But the following line is not throwing the XMPPException

chat.sendMessage("smack says hi.."); /* Send the message  */

我应该添加任何侦听器来捕获异常吗?

【问题讨论】:

试试这个:xmpp-tutorials.blogspot.com.br 【参考方案1】:

您不会收到异常,因为它是异步调用。如果您想知道连接是否已断开,则必须向该连接注册一个 ConnectionListener。

【讨论】:

以上是关于如何在使用 Smack 发送聊天时检测错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 smack 和 servlet 连接到 facebook 聊天时

Android Smack MUC 400 错误请求发送群聊消息

尝试使用 smack 连接 facebook 聊天时出现此错误

在与 Smack 4.2 重新连接后发送离线消息时,经过身份验证的侦听器出现异常

在反应中切换聊天时如何订阅新的websocket会话

使用firebase聊天时如何从下到上设置数据