有没有人用过OpenFire发布的Smack库4.0.1版本?监听不到接收到的消息。

一号男嘉宾 发布于 2014/07/28 12:10
阅读 3K+
收藏 0
RT,服务器端3.9.3,smack4.0.1,创建的chat无法监听到对方发送过来的消息。有知道的兄弟们告诉下。
加载中
0
weijs
weijs
创建chat后,需要添加监听,创建时传入的那个监听不起作用,不知道为什么 static void addChatListener(XMPPConnection conn) { ChatManager manager = ChatManager.getInstanceFor(conn); manager.addChatListener(new ChatManagerListener() { public void chatCreated(Chat chat, boolean arg1) { chat.addMessageListener(new MessageListener() { public void processMessage(Chat arg0, Message message) { //若是聊天窗口已存在,将消息转往目前窗口 //若是窗口不存在,开新的窗口并注册 System.out.println("收到消息:" + message.getBody()); } }); } }); }
0
M
MSTK
Smack 4.0是在哪里下载的啊?
0
一号男嘉宾
一号男嘉宾

of的官网啊。

http://www.igniterealtime.org/downloads/index.jsp

0
a
awake0474

遇到了同样的问题,暂时不知道怎么解决。

processMessage这个函数还不能加@Override注解。

看来4.0和3.X的差别还是很大的呀,不知道楼主这个问题解决没有。

0
a
awake0474

换了一种方法解决了,能够接收到对方返回的消息了。但是不知道之前哪里有问题。

conn.addPacketListener(new PacketListener() {

@Override
public void processPacket(Packet packet) throws NotConnectedException {
Message message = (Message)packet;
System.out.println(message.getFrom() + ":"+ message.getBody());
}
}, new PacketTypeFilter(Message.class));
Jerry_Lux
Jerry_Lux
我也是这个问题 我发现chat.sendMessage可以发送Message和String,我怀疑是String要用packetlistener解析,Message要用messagelistener解析
0
Elijah
Elijah
这种比较新的问题,在官网的论坛里应该有的, 或者可以在那个上面提问
返回顶部
顶部