openfire+smack 简单的 发送消息 demo及各种错误解决方案_解决问题最简单的方法

2020-02-26 其他范文 下载本文

openfire+smack 简单的 发送消息 demo及各种错误解决方案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“解决问题最简单的方法”。

昨天搭建好了,openfire准备用写一个smack写一个发送消息的demo,为了方便接收端使

用Spark。

使用eclipse的同学注意,创建项目时注意要吧smack与smackx两个包都导进来,只导入

smack的话会出现一个

stream:error(conflict)的错误,smackx中包含一些xml转java流的类。

运行项目时,如果端口被占用的话会出现一个

couldn't setup local SOCKS5 proxy on port 7777的错误,只需要找到smack里的config.xml在其中把端口改掉就可以。

解决了这两个问题,项目大概可以运行了。发送端代码如下

public static void main(String[] main){

XMPPConnection.DEBUG_ENABLED=true;//开启调试

XMPPConnection conn = new

XMPPConnection(“127.0.0.1”);//这里是服务器的地址,在本机上搭建

openfire的话用127.0.0.1就可以

try{

conn.connect();

conn.login(“wyl091256”, “nihaoa”);//发送端的用户名密码

Chat mychat=conn.getChatManager().createChat(“wyl@20110710-2249”,//接收端的JID,这个JID是要加域的,不然会报错

new MeageListener(){

@Override

public void proceMeage(Chat chat,Meage meage){

String meageBody = meage.getBody();

System.out.println(“收到信息:” +meageBody+“ ”+meage.getFrom());

}

});

System.out.println(“我的好友列表:=======================”);

Collection rosters = conn.getRoster().getEntries();

for(RosterEntry rosterEntry : rosters){

System.out.print(“name: ” +rosterEntry.getName()+ “,jid: ” +rosterEntry.getUser());//此

处可获取用户JID

System.out.println(“”);

}

System.out.println(“我的好友列表:=======================”);

mychat.sendMeage(“fuck!”);//发送信息

conn.disconnect();//断开连接

System.out.println(“finish”);

}catch(Exception e){

System.out.println(“wrong”);

}

}

用户的JID一定要写对,如果不知道你自己的域是啥,可以通过roster.getUser()来获取某个

好友的JID

不然在发送信息的时候,会出现这个错误,openfire很废物,很多错都报这个

remote-server-not-found,很没有参考性。

3Fpv00

域这个东西,其实就是个安全性高级点的工作组,openfire好像会自动建立一个域,域名

与时间有关。

不要忘记关闭,connection。

最后,登陆spark等待接受信息,运行工程,就会成功收到信息啦。

《openfire+smack 简单的 发送消息 demo及各种错误解决方案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
openfire+smack 简单的 发送消息 demo及各种错误解决方案
点击下载文档
相关专题 解决问题最简单的方法 解决方案 发送消息 错误 解决问题最简单的方法 解决方案 发送消息 错误
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文