单聊发送消息

Connection connection = new XMPPConnection("服务器IP");

connection.connect();

connection.login("mtucker", "password");//登录

Chat chat = connection.getChatManager().createChat("jsmith@jivesoftware.com", new MessageListener() {

public void processMessage(Chat chat, Message message) {//接收消息

System.out.println("Received message: " + message);

}

});

chat.sendMessage("Howdy!");//发送消息

连接与注销

// 为新的连接创建一个配置

ConnectionConfiguration config = new ConnectionConfiguration("服务器IP", 5222);

config.setCompressionEnabled(true);

config.setSASLAuthenticationEnabled(true);

Connection connection = new XMPPConnection(config);

// 连接到服务器

connection.connect();

// 登录到服务器

connection.login("username", "password", "SomeResource");

....

// 从服务器上注销

connection.disconnect();

群聊

/**

* 创建一个群聊室

*/

public static void createMutiUserChat(Connection con) throws XMPPException {

//创建一个多人聊天类,这个类的第二个参数规则必须是[房间名称@组聊天服务名.服务器名称]

//这个组聊天服务名可以在服务器[分组聊天-分组聊天设置]中看到

MultiUserChat muc = new MultiUserChat(con, "haojiang@conference.im.centanet.com");

// 这个create后面的参数是你在群聊里的名称

muc.create("testbot");

Form form = muc.getConfigurationForm();

Form submitForm = form.createAnswerForm();

for (Iterator fields = form.getFields(); fields.hasNext();) {

FormField field = (FormField) fields.next();

if (!FormField.TYPE_HIDDEN.equals(field.getType()) && field.getVariable() != null) {

// 设置默认的房间参数,如果不需要可以自己改动

submitForm.setDefaultAnswer(field.getVariable());

System.out.println(field.getLabel()+ ":" +field.getVariable());

}

}

// 设置房间的拥有者

List owners = new ArrayList();

owners.add("haojiang@"+SERVICE_NAME);

submitForm.setAnswer("muc#roomconfig_roomowners", owners);

submitForm.setAnswer("muc#roomconfig_roomname", "唐吉诃德");

// 发送房间的配置

muc.sendConfigurationForm(submitForm);

}

群聊室的属性 房间名称:muc#roomconfig_roomname 描述:muc#roomconfig_roomdesc 允许占有者更改主题:muc#roomconfig_changesubject 最大房间占有者人数:muc#roomconfig_maxusers 其 Presence 是 Broadcast 的角色:muc#roomconfig_presencebroadcast 列出目录中的房间:muc#roomconfig_publicroom 房间是持久的:muc#roomconfig_persistentroom 房间是适度的:muc#roomconfig_moderatedroom 房间仅对成员开放:muc#roomconfig_membersonly 允许占有者邀请其他人:muc#roomconfig_allowinvites 需要密码才能进入房间:muc#roomconfig_passwordprotectedroom 密码:muc#roomconfig_roomsecret 能够发现占有者真实 JID 的角色:muc#roomconfig_whois 登录房间对话:muc#roomconfig_enablelogging 仅允许注册的昵称登录:x-muc#roomconfig_reservednick 允许使用者修改昵称:x-muc#roomconfig_canchangenick 允许用户注册房间:x-muc#roomconfig_registration 房间管理员:muc#roomconfig_roomadmins 房间拥有者:muc#roomconfig_roomowners

openfire 群聊 java_Openfire即时通讯群聊、单聊、登录、注销的使用方法(Java+Android)...相关推荐

  1. 环信即时通讯单聊集成,添加好友,实现单聊

    前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创 ...

  2. 融云RongIMKit即时通讯开发(让我们聊起来)

    1.前言 现在APP功能越来越多,聊天成为很重要的一个功能,现在市面上流行的即时通讯SDK基本上只有融云和环信,而近年来融云在各个方面都有超过环信的趋势,所以在项目中用到融云的地方越来越多.那我们是不 ...

  3. IM即时通讯开发万人群聊消息投递方案

    传统意义上的IM群聊,通常都是像微信这样的500人群,或者QQ的2000人群(QQ有3000人群,但那是单独收费的,也就意味着它并非无门槛标配,能用上的人并不多). 自从国外某号称"世界上最 ...

  4. [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册

    1.实现功能-完成用户登录 在redis手动添加测试用户,并画出示意图以及说明注意事项(后续通过程序注册用户) 如:输入用户名和密码,如果在redis中存在并正确,则登录,否则退出系统,并给出相应提示 ...

  5. 浅析IM即时通讯开发之扫码登录二维码

    二维码技术使用起来很简单,本系列的前三篇文章也专门针对IM扫码登录这个功能做了详细的分享,但本着学习技术不留死角的习惯,我认为有必要单独学习一下到底什么是二维码(说不定哪天被个刚入行的程序员轻轻一句& ...

  6. websocket+php+layIm实现 单聊、群聊功能 即时通讯【可发送图片文件】

    实际效果: window下必须打开dos挂起服务层. linux可以直接 start -d 直接启动进程. --------------------------------------------分割 ...

  7. 基于websocket协议的即时通讯webapp(摘自本人毕业论文)

    即时通讯实现 功能结构图 Spring WebSocket配置 本软件的即时通讯技术采用了WebSocket协议,因为从spring4.0的版本才开始支持WebSocket,所以本软件服务端的spri ...

  8. 陌生交友发布动态圈子单聊打招呼群聊app开发

    陌生交友发布动态圈子单聊打招呼群聊app开发 功能有,发布圈子,发布动态,查看附近的人,发布活动,实人认证,个人主页,相册查看,单聊,群聊. 即时通讯第三方goeasy接口. 好的,以下是陌生交友应用 ...

  9. 利用websocket实现群聊以及单聊

    利用websocket实现群聊以及单聊 项目结构 实现代码 运行截图 在这里提供一下思路,正常情况下我们登陆进去之后就应该打开一个ws连接,以便和服务器进行通信,将打开的管道用一个set容器进行存储, ...

  10. android环信集成单聊,环信即时通讯单聊集成

    [实例简介] 环信即时通讯单聊集成,添加好友,实现单聊,可以学习下 [实例截图] [核心代码] IM └── IM ├── AndroidManifest.xml ├── bin │   ├── An ...

最新文章

  1. java编程 反射类的使用
  2. java之ibatis数据缓存
  3. [BZOJ 2427] 软件安装
  4. DevExpress的下拉框控件ComboBoxEdit控件的使用
  5. 为什么用 php widget,13.6 Widget扩展
  6. 普元部署包部署找不到构建_让我们在5分钟内构建和部署AutoML解决方案
  7. Zabbix3.4安装详细步骤
  8. Android零基础入门第26节:layout_gravity和gravity大不同
  9. 解决VisualStudio2008下asp.net mvc开发向View中添加服务器控件崩溃的问题
  10. c++学习记录之多态
  11. php计算周长,PHP实现的简单三角形、矩形周长面积计算器分享
  12. php获取验证码倒数60秒,yii框架实现注册页面短信验证60秒倒计时
  13. 手机app网易邮箱服务器设置,网易邮箱默认开通IMAP服务
  14. 7-1 计算职工工资c语言,C语言职工工资管理系统
  15. P3396 哈希冲突 (根号算法)
  16. Visiom Transformer 代码实现--ViT
  17. 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇“自动运行函数”
  18. 【密码学-2】什么是椭圆曲线密码
  19. 【难忘今宵】第一阶段day1打简单代码
  20. USACO 2012 January Contest, Gold Division Solution

热门文章

  1. WLAN定义和基本架构
  2. python爬虫--爬取小猪网的租房信息
  3. 我,马斯克:地球首富却要葬在火星
  4. reactor项目Maven配置
  5. xp服务器文件写保护怎么删除,Xp系统磁盘被写保护无法复制文件解决方法
  6. 微信小程序扫描程序码携带参数
  7. 公司内部分享【富有成效的每日站会】总结
  8. python画三维投影图_python之画三维图像
  9. iphone个系列尺寸_iPhone9只是套模iPhone8,这些才是iPhone经典款,你用过哪些?
  10. 31个惊艳的数据可视化作品,让你感受“数据之美”!