ejabberd java,java-xmpprpc结合ejabberd开发

本文介绍了ejabberd的配置问题,包括如何禁用In-Band注册并提供安全访问。接着探讨了如何在ejabberd中启用XML-RPC,并通过Java开发实现密码验证功能。作者分享了具体步骤和代码实例,适合开发者快速上手。
摘要由CSDN通过智能技术生成

首先需要下载安装好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/

全是英文的,而且不是很全..说的也不是很详细,还是靠自己试出来的.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值