Java Smack XMPP 查看服务器响应
Posted
技术标签:
【中文标题】Java Smack XMPP 查看服务器响应【英文标题】:Java Smack XMPP view server response 【发布时间】: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();
【问题讨论】:
【参考方案1】:Connection.DEBUG_ENABLED = true;
【讨论】:
然后调试窗口应该打开并显示所有活动(两种方式)。不会出现吗? 不,没有任何显示。是否应该有额外的调试输出?谢谢! 您使用的是哪个 IDE?以上是关于Java Smack XMPP 查看服务器响应的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 smack 连接到 XMPP 服务器:服务器没有响应
使用 smack 的 Android XMPP:服务器没有响应
无法使用 java 中的 smack 库使用 xmpp 服务器登录