9

我想在我的应用程序中实现群聊,为此我使用 MUC 聊天室来实现它。

在这里,我想向房间添加成员列表(我有 JID)。我想在内部将它们添加到列表中的所有成员中。我如何在不邀请他们的情况下添加他们。

添加成员后,我想实现一个功能,即每当聊天室的用户发消息或聊天时,它都应该传递给所有其他用户。

主要问题是如何将成员添加到聊天室

代码:

private void createRoom(){

        MultiUserChat privateRoom = new MultiUserChat(connection, "testGroup@conference.abc.com");
        try {
            privateRoom.join("gaurav","123456");
            privateRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
            System.out.println("Room Created!!!");

            Message message = new Message("testGroup@conference.abc.com", Message.Type.normal);
            message.setBody("Happy User");

            privateRoom.sendMessage(message);



        } catch (XMPPException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
4

1 回答 1

2

XEP-0045不包含强制让客户端成为聊天室参与者的场景。虽然您可以向联系人发送邀请(直接发送给用户,或通过 MUC 服务器),但联系人实际上不会加入聊天室,直到联系人的客户端请求加入聊天室。

因此,将用户添加到聊天室而不邀请他们需要用户客户端的特殊支持。可能,客户端可以修改为自动接受来自受信任联系人的聊天室邀请。

于 2014-05-30T11:53:25.420 回答