繁体   English   中英

Smack API和Java

[英]Smack api and Java

我正在使用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(页面上的属性)时,我看不到任何结果。 有谁知道我如何解决这个问题?

问候,

KACE

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

the page is rendered. 我认为在渲染页面会调用processMessage方法。

您正在创建一个MessageListener实例(通过匿名类),所以您不知道何时调用processMessage方法。 我认为您必须使用AJAX进行某些操作才能在页面上进行部分更新,轮询服务器并获取任何新消息以在页面上显示它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM