【问题标题】:Java Smack XMPP view server responseJava Smack XMPP 查看服务器响应
【发布时间】:2014-02-05 14:38:01
【问题描述】:

嘿,我怎样才能显示来自 xmpp 服务器的每个响应?

我尝试发送消息,但很多消息在途中丢失了,所以我想检查服务器的响应。我正在使用 smack 3.3.1 发送到 facebook xmpp 端口。

DeliveryReceiptManager 和/或 MessageEventManager 不会显示任何内容,所以我想查看服务器响应的所有内容!

ConnectionConfiguration config = new ConnectionConfiguration("chat.facebook.com",5222);
config.setSASLAuthenticationEnabled(true);     
XMPPConnection connection = new XMPPConnection(config);

        try {
            //ESTA LINEA HACE QUE NO DE TIMEOUT
            SmackConfiguration.setPacketReplyTimeout(15000);
            XMPPConnection.DEBUG_ENABLED = true;
            SASLAuthentication.registerSASLMechanism("X-FACEBOOK-PLATFORM", SASLXFacebookPlatformMechanism.class);
            SASLAuthentication.supportSASLMechanism("X-FACEBOOK-PLATFORM", 0);
            connection.connect();
            String apiKey = "1234567";
            String accessToken = "";
            connection.login(apiKey, accessToken);

        }catch (XMPPException e){
            e.printStackTrace();
        }
        try {
            DeliveryReceiptManager deliveryReceiptManager = DeliveryReceiptManager.getInstanceFor(connection);
            deliveryReceiptManager.addReceiptReceivedListener(new ReceiptReceivedListener() {
                @Override
                public void onReceiptReceived(String s, String s2, String s3) {
                    System.out.println("REVEIVED RESPONCE");
                    System.out.println(s);
                    System.out.println(s2);
                    System.out.println(s3);
                }
            });
            Chat chat = connection.getChatManager().createChat("1234567890@chat.facebook.com", new MessageListener() {
                @Override
                public void processMessage(Chat chat, Message message) {
                    if(message.getType() == Message.Type.chat)
                        System.out.println(chat.getParticipant() + " says: " + message.getBody());
                }
            });
            Message msg = new Message();
            msg.setSubject("Invite");
            msg.setBody("blablabla");
            DeliveryReceiptManager.addDeliveryReceiptRequest(msg);
            //MessageEventManager.addNotificationsRequests(msg, true, true, true, true);

            chat.sendMessage(msg);
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }catch (XMPPException e){
            e.printStackTrace();
        }

        try {
            Thread.sleep(10000);
        }catch (InterruptedException e) {
            e.printStackTrace();
        }

【问题讨论】:

    标签: java xmpp smack facebook-chat


    【解决方案1】:

    Connection.DEBUG_ENABLED = true;

    【讨论】:

    • 然后调试窗口应该打开并显示所有活动(两种方式)。不会出现吗?
    • 不,没有任何显示。是否应该有额外的调试输出?谢谢!
    • 您使用的是哪个 IDE?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2014-10-12
    • 2015-07-15
    • 2015-01-20
    • 1970-01-01
    • 2012-12-28
    相关资源
    最近更新 更多