JAXL连接Openfire发送房间消息
使用composer形式安装的JAXL
<?php
require_once "vendor/autoload.php";
$client = new JAXL(array(
'jid' => '',
'pass' => '',
'host'=>'ubuntu',
'auth_type'=>'ANONYMOUS', //匿名登录
'log_level' => JAXLLogger::DEBUG,
));
$_room_full_jid = "test@conference.ubuntu/ordersender";
$room_full_jid = new XMPPJid($_room_full_jid);
$client->require_xep(array(
'0045', // MUC
'0203', // Delayed Delivery
'0199', // XMPP Ping
));
$client->add_cb('on_auth_success', function() {
global $client, $room_full_jid;
// set status
$client->set_status("available!",'dnd',10);
$client->get_vcard(); // fetch your vcard
$client->get_roster(); // fetch your roster list
JAXLLogger::info("got on_auth_success cb, jid ".$client->full_jid->to_string());
JAXLLogger::info("got on_auth_success cb, room_full_jid ".$room_full_jid->to_string());
// join muc room
$client->xeps['0045']->join_room($room_full_jid);
//start send message
//@link http://wiki.jabbercn.org/XEP-0045#.E5.8F.91.E9.80.81.E6.B6.88.E6.81.AF.E7.BB.99.E6.89.80.E6.9C.89.E6.88.BF.E5.AE.A2 例子60的xml格式
//@link JAXL 文档 https://jaxl.readthedocs.io/en/latest/users/xml_objects.html
$xml = new JAXLXml('message');
$_room_full_jid2 = "test@conference.ubuntu";
$to2 = new XMPPJid($_room_full_jid2);
$xml->attrs(array(
'from'=>$client->full_jid->to_string(),
'to'=>$to2->to_string(),
'type'=>'groupchat'
));
$xml->c('body')->t('Hello world');
//xml<message from="244a387a@ubuntu/244a387a" to="test@conference.ubuntu" type="groupchat"><body>Hello world</body></message>
JAXLLogger::info("xml".$xml->to_string());
$client->send($xml); //发送消息
$client->send_end_stream(); //断开连接
});
function on_auth_failure_callback($reason)
{
global $client;
$client->send_end_stream();
JAXLLogger::info("got on_auth_failure cb with reason $reason");
}
$client->add_cb('on_auth_failure', 'on_auth_failure_callback');
function on_disconnect_callback()
{
JAXLLogger::info("got on_disconnect cb");
}
$client->add_cb('on_disconnect', 'on_disconnect_callback');
$client->start();
JAXL连接Openfire发送房间消息的更多相关文章
- JAXL发送房间消息
使用composer形式安装的JAXL <?php require_once "vendor/autoload.php"; $client = new JAXL(array( ...
- springboot使用RestTemplate+httpclient连接池发送http消息
简介 RestTemplate是spring支持的一个请求http rest服务的模板对象,性质上有点像jdbcTemplate RestTemplate底层还是使用的httpclient(org.a ...
- spark结合 Openfire服务器,发送聊天消息
1.下载OpenFire服务器,进行安装,参考http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html 2.程序运行客户端:下载客户端代 ...
- Smack 结合 Openfire服务器,建立IM通信,发送聊天消息
在文章开始,请你了解和熟悉openfire方面的相关知识,这样对你理解下面代码以及下面代码的用途有很好的了解.同时,你可能需要安装一个简单的CS聊天工具,来测试你的代码是否成功的在openfire服务 ...
- openfire 发送 接受 注册 广播 好友列表 在线状态
package cn.zsmy.utils.openfire; import java.io.BufferedReader; import java.io.InputStreamReader; imp ...
- 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制
安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程? 详细代码介 ...
- JMS连接WMQ及收发消息
因为对JMS的了解也只算入门级,有些概念也很模糊,不过,卤煮会尽可能去介绍的.另外,sample code都调试过可以跑. 1.神马是JMS? jms即Java消息服务(Java Message Se ...
- 【Spring】使用Spring和AMQP发送接收消息(上)
讲AMQP之前,先讲下传统的JMS的消息模型,JMS中主要有三个参与者:消息的生产者.消费者.传递消息的通道(队列或者主题),两种消息模型如下:通道是队列: 通道是队列: 通道是主题: 在JMS中,虽 ...
- PHP实现发送模板消息到微信公众号
简述:在这里会具体讲述到如何实现:如何通过后台的代码来实现发送模板消息到已经关注了"心想"公众号的用户. (本人新手,目前实习中,我的所有文档都是在自己开发过程中的记录,有些言语跟 ...
随机推荐
- 【JZOJ2867】Contra
description 偶然间,chnlich 发现了他小时候玩过的一个游戏"魂斗罗",于是决定怀旧.但是这是一个奇怪的魂斗罗 MOD. 有 N 个关卡,初始有 Q 条命. 每通过 ...
- 阿里云SaaS加速器“宜搭”发布宜搭Plus提升6倍研发效率
9月26日,在杭州云栖大会上,阿里云SaaS加速器的“底座”——“宜搭”正式发布“宜搭Plus”低代码开发平台.开发复杂企业业务系统所需要的领域数据模型.逻辑&服务编排.专业UI页面设计等,都 ...
- 阿里云宣布 Serverless 容器服务 弹性容器实例 ECI 正式商业化
摘要: 阿里云宣布弹性容器实例 ECI(Elastic Container Instance)正式商业化,ECI 是阿里云践行普惠的云计算理念,将 Serverless 和 Container 技术结 ...
- python 毫秒时间戳转日期
import time import datetime timestamp = 1570774556514 # 转换成localtime time_local = time.localtime(tim ...
- iOS ARC下命名规则
当我在ARC模式下写以下代码的时候,编译器报错 Semantic Issue: Property's synthesized getter follows Cocoa naming conventio ...
- c# sleep 例子
using System; using System.Threading; public class arr { public static void Main() { //int[] arr; // ...
- json的dump和dumps的区别
dumps是将dict转化成str格式,loads是将str转化成dict格式. dump和load也是类似的功能,只是与文件操作结合起来了. In [1]: import json In [2]: ...
- http://ajax.open-open.com/ ajax开源家园
http://ajax.open-open.com/ 本站为广大OPEN爱好者搭建了一个OPEN家园,大家可以方便快捷地发布日志.上传照片,分享生活中的精彩瞬间:与好友一起玩转游戏,增加好友感情:创建 ...
- linux环境变量设置错误后的恢复方法(转)
原文: http://blog.csdn.net/hoholook/article/details/2793447 linux环境变量设置错误后的恢复方法 中国自学编程网收集整理 发布日期:2008 ...
- shell常用命令及正则辅助日志分析统计
https://www.cnblogs.com/wj033/p/3451618.html 正则日志分析统计 3 grep 'onerror' v3-0621.log | egrep -v '(\d ...