如何使用 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().