• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java MUCInitialPresence类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.jivesoftware.smackx.packet.MUCInitialPresence的典型用法代码示例。如果您正苦于以下问题:Java MUCInitialPresence类的具体用法?Java MUCInitialPresence怎么用?Java MUCInitialPresence使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MUCInitialPresence类属于org.jivesoftware.smackx.packet包,在下文中一共展示了MUCInitialPresence类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getMUCHistory

import org.jivesoftware.smackx.packet.MUCInitialPresence; //导入依赖的package包/类
/**
 * Returns the History that manages the amount of discussion history provided on entering a 
 * room.
 * 
 * @return the History that manages the amount of discussion history provided on entering a 
 * room.
 */
MUCInitialPresence.History getMUCHistory() {
    // Return null if the history was not properly configured  
    if (!isConfigured()) {
        return null;
    }
    
    MUCInitialPresence.History mucHistory = new MUCInitialPresence.History();
    if (maxChars > -1) {
        mucHistory.setMaxChars(maxChars);
    }
    if (maxStanzas > -1) {
        mucHistory.setMaxStanzas(maxStanzas);
    }
    if (seconds > -1) {
        mucHistory.setSeconds(seconds);
    }
    if (since != null) {
        mucHistory.setSince(since);
    }
    return mucHistory;
}
 
开发者ID:ice-coffee,项目名称:EIM,代码行数:29,代码来源:DiscussionHistory.java


示例2: getMUCHistory

import org.jivesoftware.smackx.packet.MUCInitialPresence; //导入依赖的package包/类
/**
 * Returns the History that manages the amount of discussion history
 * provided on entering a room.
 * 
 * @return the History that manages the amount of discussion history
 *         provided on entering a room.
 */
MUCInitialPresence.History getMUCHistory() {
	// Return null if the history was not properly configured
	if (!isConfigured()) {
		return null;
	}

	MUCInitialPresence.History mucHistory = new MUCInitialPresence.History();
	if (maxChars > -1) {
		mucHistory.setMaxChars(maxChars);
	}
	if (maxStanzas > -1) {
		mucHistory.setMaxStanzas(maxStanzas);
	}
	if (seconds > -1) {
		mucHistory.setSeconds(seconds);
	}
	if (since != null) {
		mucHistory.setSince(since);
	}
	return mucHistory;
}
 
开发者ID:ikantech,项目名称:xmppsupport_v2,代码行数:29,代码来源:DiscussionHistory.java


示例3: create

import org.jivesoftware.smackx.packet.MUCInitialPresence; //导入依赖的package包/类
/**
 * Creates the room according to some default configuration, assign the requesting user
 * as the room owner, and add the owner to the room but not allow anyone else to enter
 * the room (effectively "locking" the room). The requesting user will join the room
 * under the specified nickname as soon as the room has been created.<p>
 *
 * To create an "Instant Room", that means a room with some default configuration that is
 * available for immediate access, the room's owner should send an empty form after creating
 * the room. {@link #sendConfigurationForm(Form)}<p>
 *
 * To create a "Reserved Room", that means a room manually configured by the room creator
 * before anyone is allowed to enter, the room's owner should complete and send a form after
 * creating the room. Once the completed configutation form is sent to the server, the server
 * will unlock the room. {@link #sendConfigurationForm(Form)}
 *
 * @param nickname the nickname to use.
 * @throws XMPPException if the room couldn't be created for some reason
 *          (e.g. room already exists; user already joined to an existant room or
 *          405 error if the user is not allowed to create the room)
 */
public synchronized void create(String nickname) throws XMPPException {
    if (nickname == null || nickname.equals("")) {
        throw new IllegalArgumentException("Nickname must not be null or blank.");
    }
    // If we've already joined the room, leave it before joining under a new
    // nickname.
    if (joined) {
        throw new IllegalStateException("Creation failed - User already joined the room.");
    }
    // We create a room by sending a presence packet to [email protected]/nick
    // and signal support for MUC. The owner will be automatically logged into the room.
    Presence joinPresence = new Presence(Presence.Type.available);
    joinPresence.setTo(room + "/" + nickname);
    // Indicate the the client supports MUC
    joinPresence.addExtension(new MUCInitialPresence());
    // Invoke presence interceptors so that extra information can be dynamically added
    for (PacketInterceptor packetInterceptor : presenceInterceptors) {
        packetInterceptor.interceptPacket(joinPresence);
    }

    // Wait for a presence packet back from the server.
    PacketFilter responseFilter =
        new AndFilter(
            new FromMatchesFilter(room + "/" + nickname),
            new PacketTypeFilter(Presence.class));
    PacketCollector response = connection.createPacketCollector(responseFilter);
    // Send create & join packet.
    connection.sendPacket(joinPresence);
    // Wait up to a certain number of seconds for a reply.
    Presence presence =
        (Presence) response.nextResult(SmackConfiguration.getPacketReplyTimeout());
    // Stop queuing results
    response.cancel();

    if (presence == null) {
        throw new XMPPException("No response from server.");
    }
    else if (presence.getError() != null) {
        throw new XMPPException(presence.getError());
    }
    // Whether the room existed before or was created, the user has joined the room
    this.nickname = nickname;
    joined = true;
    userHasJoined();

    // Look for confirmation of room creation from the server
    MUCUser mucUser = getMUCUserExtension(presence);
    if (mucUser != null && mucUser.getStatus() != null) {
        if ("201".equals(mucUser.getStatus().getCode())) {
            // Room was created and the user has joined the room
            return;
        }
    }
    // We need to leave the room since it seems that the room already existed
    leave();
    throw new XMPPException("Creation failed - Missing acknowledge of room creation.");
}
 
开发者ID:ice-coffee,项目名称:EIM,代码行数:78,代码来源:MultiUserChat.java



注:本文中的org.jivesoftware.smackx.packet.MUCInitialPresence类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ContinuousLabel类代码示例发布时间:2022-05-22
下一篇:
Java Manifest类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap