smack xmpp-在tomcat托管的Servlet上

时间:2018-07-10 18:42:10

标签: tomcat xmpp smack

我有一个奇怪的问题。我正在尝试使用Apache Tomcat中的servlet上托管的smack api库4.2.4创建Xmpp客户端。

我能够发送和接收消息(通过“聊天监听器”事件),而我既没有收到任何MUC邀请,也没有得到单独的MUC数据包监听器事件。

我已经检查了调试日志,事件也没有出现在其中。 好像我在Java控制台应用程序中尝试相同的代码(仅更改控制台主条目和调试)一样,我正在获取所有这些事件。

关于如何使smack在servlet上工作的任何想法吗?

预先感谢...

注意:我正在使用单个连接实例。我没有关于聊天发送或响应的问题。面对MUC邀请函上的问题...

1 个答案:

答案 0 :(得分:0)

最终修复...实现了连接侦听器,并在连接断开时重新连接。现在一切看起来不错。

connection.addConnectionListener(new ConnectionListener(){

                @Override
                public void reconnectionSuccessful() {
                    Log.i("","Successfully reconnected to the XMPP server.");

                }

                @Override
                public void reconnectionFailed(Exception arg0) {
                    Log.i("","Failed to reconnect to the XMPP server.");
                }

                @Override
                public void reconnectingIn(int seconds) {
                    Log.i("","Reconnecting in " + seconds + " seconds.");
                }

                @Override
                public void connectionClosedOnError(Exception arg0) {
                    Log.i("","Connection to XMPP server was lost.");

PerformReConnect();                     }

                @Override
                public void connectionClosed() {
                    Log.i("","XMPP connection was closed.");

                }
            });