即时通讯软件的离线消息获取 本帖最后由 jayqean 于 2011-05-31 12:19:54 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 offlineManager.getMessageCount() 打印出来是0想用gmail的邮箱测试,奈何公司的网络很差有哪位好心人帮我测试下就好,用两个gmail邮箱 在对方离线的时候发送条消息 在用下面的代码登录离线的那个帐号,测试有没有收到import java.util.Iterator;import org.jivesoftware.smack.ConnectionConfiguration;import org.jivesoftware.smack.XMPPConnection;import org.jivesoftware.smack.XMPPException;import org.jivesoftware.smack.packet.Presence;import org.jivesoftware.smackx.OfflineMessageManager;public class Test { public static XMPPConnection getConn() { ConnectionConfiguration conf = new ConnectionConfiguration("gmail.com", 5222); conf.setSASLAuthenticationEnabled(false);// gtalk不支持SASL验证,设置为false conf.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); conf.setCompressionEnabled(false); XMPPConnection conn = new XMPPConnection(conf); return conn; } public static void main(String[] args) { XMPPConnection conn = getConn(); try { conn.connect(); conn.login("username", "password"); Presence presence = new Presence(Presence.Type.available); conn.sendPacket(presence); OfflineMessageManager offlineManager = new OfflineMessageManager(conn); System.out.println(offlineManager.getMessageCount()); Iterator<org.jivesoftware.smack.packet.Message> it = offlineManager.getMessages(); while(it.hasNext()){ org.jivesoftware.smack.packet.Message message = it.next(); System.out.println("收到离线消息, Received from 【" + message.getFrom() + "】 message: " + message.getBody()); } } catch (XMPPException e) { // TODO Auto-generated catch block e.printStackTrace(); } }} 一回家就解决了,够折腾的,服务器对于离线消息是主动推送的,上线能监听到,我写的另一个测试列子是因为没有一段时间的停留,其实是收到了,来不急打印,Thread.sleep(100000);关于一楼的回复,确实无法用OfflineMessageManager这个类收到. ffmpeg编译错误的问题 本本内存升级到了6G.先想将WIN7 32位系统升级到64位.想问下,有什么坏处吗 小弟遇到问题了,各位大家帮帮忙!改下代码吧、谢谢 求救:把android手机设置为热点(AP)的原理 如何让自己的程序变成系统自动调用 log如何指定打印到哪个buffer? ethernet状态栏图标的显示,notification,notificationmanager 关于Http问题,请大家指点 求帮忙看这个日历空间怎么错了,大牛何在!!!!! 求大神。图片拖动和缩放处理 小妹请教如何用代码实现卸载! 跪求一个 android问题,有关checkbox的
想用gmail的邮箱测试,奈何公司的网络很差
有哪位好心人帮我测试下就好,用两个gmail邮箱 在对方离线的时候发送条消息 在用下面的代码登录离线的那个帐号,测试有没有收到import java.util.Iterator;import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smackx.OfflineMessageManager;public class Test {
public static XMPPConnection getConn() {
ConnectionConfiguration conf = new ConnectionConfiguration("gmail.com",
5222);
conf.setSASLAuthenticationEnabled(false);// gtalk不支持SASL验证,设置为false
conf.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
conf.setCompressionEnabled(false);
XMPPConnection conn = new XMPPConnection(conf);
return conn;
}
public static void main(String[] args) {
XMPPConnection conn = getConn();
try {
conn.connect();
conn.login("username", "password");
Presence presence = new Presence(Presence.Type.available);
conn.sendPacket(presence);
OfflineMessageManager offlineManager = new OfflineMessageManager(conn);
System.out.println(offlineManager.getMessageCount());
Iterator<org.jivesoftware.smack.packet.Message> it = offlineManager.getMessages();
while(it.hasNext()){
org.jivesoftware.smack.packet.Message message = it.next();
System.out.println("收到离线消息, Received from 【" + message.getFrom() + "】 message: " + message.getBody());
}
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
关于一楼的回复,确实无法用OfflineMessageManager这个类收到.