java - Smack API 和 Java

标签 java chat xmpp tapestry smack

我正在使用 Tapestry 5、Smack api 3.1.0。

我已经建立了连接,并且能够通过 xmpp 服务器与用户进行通信,但我收到的回复会在收到时发送到标准输出:

Chat chat = connection.getChatManager().createChat("blah@jabber.org", new MessageListener() {
    public void processMessage(Chat chat, Message message) {
        // Print out any messages we get back to standard out.
        System.out.println("Received message: " + message.getBody());                   // this works

        showonbrowser = message.getBody();                                                   
        System.out.println(showonbrowser) // this prints nothing
    }
};

我希望获得对我的 html 文件的回复,以便我可以在网络上而不是控制台上阅读它们。但是,当我尝试将 message.getBody() 设置为 showonbrowser (页面上的属性)时,我看不到任何结果。有谁知道我如何解决这个问题?

问候,

凯斯

最佳答案

Smack 是多线程的,它有一个讨厌的习惯,会(默默地)吃掉抛出的异常。很可能您没有使用线程安全的 GUI,并且它会抛出一个您永远不会得到的异常。

关于java - Smack API 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573778/

相关文章:

android - 带文本消息的笑脸将显示在 ListView 中

android - Android 5.0 及以上版本的 Asmack 登录问题

php - 如何从 php 或使用 ejabberd 的直接命令创建 MUC 房间

java - chrome(客户端)和hotspot(服务器)之间的Websocket通信(状态行不以CRLF结尾)

java - 查找尝试连接到 ServerSocket 的程序的 IP

java - 在 main 中加载 fxml 文件

Android Smack MUC 400 Bad Request 发送群组聊天消息

java - 从文本文件中删除元素

php - 如何在 sql & php 的 'ORDER BY' 语句中使用 'SELECT DISTINCT CASE WHEN' 语句?

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