首页 > 编程 > Java > 正文

java-xmpprpc结合ejabberd开发

2019-11-08 19:38:22
字体:
来源:转载
供稿:网友

首先需要下载安装好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进行管理.

<dependency>			<groupId>org.apache.xmlrpc</groupId>			<artifactId>xmlrpc-client</artifactId>			<version>3.1.3</version>		</dependency>导入完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<String ,String> struct = new HashMap<String ,String>();//		    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/ 

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表