【发布时间】:2015-01-20 16:02:03
【问题描述】:
我是聊天应用程序的初学者。 我搜索并研究了 xmpp 服务器。 我安装了 openfire xmpp 服务器。 与 xmpp 服务器的连接、注册和登录任务完成。 现在我正在尝试发送和接收消息。 用户登录后,然后用户输入要发送的文本。我使用此代码发送消息
ChatManager chatmanager;
chatmanager = connection.getChatManager();
Chat newChat = chatmanager.createChat("cac6ba9dc9c6ac67"+"@pc", FirstPage.this);
try {
newChat.sendMessage("Howdy!");
}
catch (XMPPException e) {
System.out.println("Error Delivering block");
}
@Override
public void processMessage(Chat chat, Message message) {
// TODO Auto-generated method stub
Toast.makeText(FirstPage.this,"mssg: "+message.getBody(), Toast.LENGTH_SHORT).show();
switch (message.getType())
{
case chat:
String jsonData = (null==message.getBody())?"":message.getBody();
System.out.println(jsonData);
System.out.println(chat.getParticipant());
break;
case error:
break;
case groupchat:
break;
case headline:
break;
case normal:
break;
}
}
以及我用于接收消息的代码,请查看此screenshot 以查看用户,
chatmanager.addChatListener(this);
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
connection.addPacketListener(this, filter);
@Override
public void chatCreated(Chat chat, boolean createdlocally) {
// TODO Auto-generated method stub
// System.out.println("1 message received "+chat.getParticipant());
if (!createdlocally) {
System.out.println("not created locally");
Toast.makeText(FirstPage.this, "not created locally", Toast.LENGTH_SHORT).show();
chat.addMessageListener(new MessageListener() {
@Override
public void processMessage(Chat arg0, Message arg1) {
// TODO Auto-generated method stub
//tv1.setText(arg1.getBody());
}
});
} else {
Toast.makeText(FirstPage.this, "created locally", Toast.LENGTH_SHORT).show();
System.out.println("created locally");
}
}
@Override
public void processPacket(Packet packet) {
// TODO Auto-generated method stub
System.out.println("in processPacket");
Message message = (Message) packet;
String body = message.getBody();
String from = message.getFrom();
tv1.setText("From "+from + "\n"+ body);
}
我正在使用此代码,不知道为什么消息没有通过另一端发送 谁能告诉我犯了什么错误或帮助解决这个问题
【问题讨论】:
-
你建立连接并登录了吗?
-
是的,我已经建立连接并登录了,请你过来link帮助我解决这个问题