- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
openfiresmack简单的发送消息demo及各种错误解决方案
昨天搭建好了,openfire准备用写一个smack写一个发送消息的demo,为了方便接收端使用Spark。
使用eclipse的同学注意,创建项目时注意要吧smack与smackx两个包都导进来,只导入smack的话会出现一个
stream:error conflict
的错误,smackx中包含一些xml转java流的类。
运行项目时,如果端口被占用的话会出现一个
couldnt 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@座机电话号码, //接收端的JID,这个JID是要加域的,不然会报错 new MessageListener @Override
public void processMessage Chat chat,Message message
String messageBody message.getBody ; System.out.println 收到信息: +messageBody+ +message.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.sendMessage fuck! ; //发送信息
conn.disconnect ; //断开连接
System.out.println finish ;
catch Exception e
System.out.println wrong ; 用户的JID一定要写对,如果不知道你自己的域是啥,可以通过roster.getUser 来获取某个好友的JID
不然在发送信息的时候,会出现这个错误,openfire很废物,很多错都报这个remote-server-not-found,很没有参考性。
message id w5Cne-4 to wyl091256@座机电话号码/Smack from wyl type error 3Fpv00
error code 404 type CANCEL
remote-server-not-found xmlns urn:ietf:params:xml:ns:xmpp-stanzas/ 域这个东西,其实就是个安全性高级点的工作组,openfire好像会自动建立一个域,域名与时间有关。
不要忘记关闭,connection。
最后,登陆spark等待接受信息,运行工程,就会成功收到信息啦。
文档评论(0)