如何使用 smack 向多用户聊天室的所有参与者发送消息
How to send message to all participants of multi user chat room using smack
我正在为群聊创建多用户聊天室,多用户可以在其中聊天。我在 jsp 中为此使用 smack 。我在加入房间后为多用户聊天室添加了消息监听器。
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(xmppConnection);
// Create a MultiUserChat using an CustomXMPPConnection for a room
MultiUserChat multiUserChat = manager.getMultiUserChat(chatRoomName + "@conference." + xmppConnection.getServiceName());
multiUserChat.addMessageListener(new MessageListener()
{
@Override
public void processMessage(Message message) {
System.out.println("Message listener Received message in send message: "
+ (message != null ? message.getBody() : "NULL") + " , Message sender :" + message.getFrom());
}
});
发送消息代码:
Message message = new Message(chatRoomName, Message.Type.groupchat);
message.setBody(msg);
message.setType(Message.Type.groupchat);
message.setTo(chatRoomName);
multiUserChat.sendMessage(message);
我的问题是在 Message Listener 中收到消息后,我将如何向其他用户显示消息?
只需使用 MultiUserChat.sendMessage()
.
我正在为群聊创建多用户聊天室,多用户可以在其中聊天。我在 jsp 中为此使用 smack 。我在加入房间后为多用户聊天室添加了消息监听器。
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(xmppConnection);
// Create a MultiUserChat using an CustomXMPPConnection for a room
MultiUserChat multiUserChat = manager.getMultiUserChat(chatRoomName + "@conference." + xmppConnection.getServiceName());
multiUserChat.addMessageListener(new MessageListener()
{
@Override
public void processMessage(Message message) {
System.out.println("Message listener Received message in send message: "
+ (message != null ? message.getBody() : "NULL") + " , Message sender :" + message.getFrom());
}
});
发送消息代码:
Message message = new Message(chatRoomName, Message.Type.groupchat);
message.setBody(msg);
message.setType(Message.Type.groupchat);
message.setTo(chatRoomName);
multiUserChat.sendMessage(message);
我的问题是在 Message Listener 中收到消息后,我将如何向其他用户显示消息?
只需使用 MultiUserChat.sendMessage()
.