ejabberd java,java-xmpprpc结合ejabberd开发
首先需要下载安装好ejabberd,ejabberd的安装我就先不说了.因为我也不是很清楚额..嗯....说下我在开发ejabberd中遇到的几个问题吧.
[1].安装好后不能注册
ejabberd 配置问题,
如果用的是 ejabberd 15.07, 如下操作:
1. 找到:/ejabberd-15.07/conf/ejabberd.yml 文件,
2. 修改ejabberd.yml 文件中:
## To disable in-band registration, replace 'allow' with 'deny'.
register:
all: allow
## 注册权限打开
## Only allow to register from localhost
trusted_network:
all: allow
## loopback: allow
## Do not establish S2S connections with bad servers
## s2s:
## bad_servers: deny
## all: allow
3. 重新启动 ejabberd 服务器 ,就解决了
不是这个版本服务器的话,就按这个原理 修改相应权限就OK了
安装好ejabberd 后,可以下载这个客户端进行相关的测试,
下载链接:http://download.csdn.net/detail/u012930316/9755494
=====================================================
好...下面进入这次java使用xmpprpc结合ejabberd的开发.
首先ejabberd安装配置好后.接的打开这个:
-
port: 4560
module: ejabberd_xmlrpc
access_commands: {}也就是说在ejabberd的配置文件ejabberd.yml 里面的listen: 下面增加这个...至于端口号随便取.听说这里还可以配置个权限保证安全..目前我还不知道怎么弄...
好了,在配置好这个之后就可以开发java这边了.
这里首先是要导入jar包.我这里使用maven进行管理.
org.apache.xmlrpc
xmlrpc-client
3.1.3
导入完jar包后可以写段代码测试下了.下面直接贴代码:
public static void main(String[] args) throws XmlRpcException,
MalformedURLException {
try {
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://ip:4560/RPC2"));// 你的ejabberd地址
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
/* Command string */
String command = "check_password";
command = "change_password";
/* Parameters as struct */
Map struct = new HashMap();
// struct.put("user", "456");
// struct.put("host", "local");
// struct.put("password", "123456");
// Object execute = client.execute(command, params);
// 修改密码
struct.put("user", new String("456"));
struct.put("host", new String("local"));// 这里是你配置的虚拟域名
struct. put("newpass", "123");
Object[] params = new Object[]{struct};
// 修改密码的操作.
Object execute = client.execute(command, params);
System.out.println(execute);// 结果信息
} catch (Exception e) {
System.out.println(e);
}
}
我参考资料的地址:https://docs.ejabberd.im/developer/ejabberd-api/admin-api/
全是英文的,而且不是很全..说的也不是很详细,还是靠自己试出来的.....
ejabberd java,java-xmpprpc结合ejabberd开发相关推荐
- [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)
MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...
- Java新手看招 常用开发工具介绍
Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...
- java ug二次开发_使用Java进行UG二次开发:简单的例子(上) | 学步园
最近因为要进行TeamCenter二次开发(胖客户端定制),所有要开始研究Java了.因此突发奇想为什么不能使用Java进行二次开发呢?现在对UG进行的开发以C/C++应用为主.大多数使用的是原来的U ...
- Java程序员转Android开发必读经验
小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...
- Java vs Kotlin,Android开发人员应该选择哪种语言?
自 Google 于 2017 年宣布 Kotlin 成为 Google IO 的 Android 开发官方语言以来,想要成为Android开发人员的程序员正陷入两难境地. 在讨论这个问题前,我首先要 ...
- Java和.NET(C#)的开发用到的技术对比总结
前言 声明:我指的是一般的Java和.NET(C#)的后台开发用到的技术总结 最近一直在应聘ing,楼主的项目还是.NET(C#)项目居多,Java项目相对少,在这也吐槽下,招.NET(C#)的公司实 ...
- java技术学习内容_Java开发主要都学些什么内容?
展开全部 Java开发培训班主要学32313133353236313431303231363533e58685e5aeb931333363386164习的课程大纲,你可以看下. 第一阶段:JavaSE ...
- Java基础----JAVA语言的概述和开发环境的搭配
01 JAVA语言的概述和开发环境的搭配 JAVA语言简介 创始人:詹姆斯.高斯林 历史:起初属于sun公司,由高斯林与其合伙人研发而出,用于在各种移动设备上进行程序开发设计,初始起名为green,后 ...
- java web试题_Java web开发经典面试题汇总(内附答案详解)
原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...
- Java+MySQL实现评论功能设计开发
Java+MySQL实现评论功能设计开发 一.背景 项目初始版本上线,有时间写点东西记录一下项目中的心得体会,通过这个项目学习了很多,要写下来的有很多,先从评论功能开始吧.由于项目需要增加评论功能,之 ...
最新文章
- gta5线上小助手_gta5线上助手(xiu改器)使用
- oauth2中用户的信息如何动态获取和存储_oAuth2.0 简介
- 初探 Headless Chrome
- Intel Haswell/Broadwell架构/微架构/流水线 (6)-Unlamination微指令离解过程
- 【SpringCloud】Spring cloud Alibaba Sentinel 服务熔断
- 动态修改css 规则
- Spark 原理 —— 从 akka 到 spark 集群的启动
- 局域网 ARP 欺骗原理详解
- head first 设计模式(限量珍藏版)挂图
- live2dmesh渲染优先级_Live2D 性能优化
- java和vue的狱警管理系统监狱系统狱务管理系统
- 人口logistic模型公式_人口的logistic模型
- 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.3节概述
- GEOS-Chem笔记——模式下载安装+驱动数据+运行流程
- 深入Marlin固件
- RedisTemplate使用
- 《传送门》游戏中传送机制简析
- Dev-C++下面的编译状态栏信息不显示
- 写给Krpano小白们的最最最入门级教程(一)
- 谁是中国移动互联网的王者?360发布定制手机消息随感