Чмок API и Java - PullRequest
       32

Чмок API и Java

0 голосов
/ 22 февраля 2009

Я использую 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

Ответы [ 2 ]

2 голосов
/ 31 марта 2009

Smack является многопоточным и имеет неприятную привычку поедать исключения, которые вызываются (молча.) Скорее всего, вы не используете многопоточный графический интерфейс, а оно выдает исключение, которое вы никогда не получите.

0 голосов
/ 01 апреля 2009

Я думаю, что processMessage метод вызывается после страницы отображается.

Вы создаете экземпляр MessageListener (через анонимный класс), поэтому вы не знаете, когда будет вызван метод processMessage. Я думаю, что вам придется что-то делать с AJAX, чтобы выполнять частичные обновления на странице, опрашивать сервер и получать любые новые сообщения для отображения их на странице.

...