openfire+smack 搭建即时聊天 demo
来源:互联网 发布:最新网络洗脑神曲 编辑:程序博客网 时间:2024/04/29 22:37
1.openfire
openfire版本为 4.1.3
关于openfire的配置网上有很多资料,可以找一个配置一下。
这里遇到的问题是,我在配置的时候把端口号从9090,9091改为了19090,19091,导致配置完成的时候无法打开管理控制台,这里需要重启一下电脑
2.smack
smack的版本为4.2.0
网上看到的建立链接的方式有下面两种
一
XMPPConnection connection = new XMPPConnection("wang-think");
二
ConnectionConfiguration config = new ConnectionConfiguration("127.0.0.1", 5222);
XMPPConnection connection = new XMPPConnection(config);
但在4.2上无法使用。
通过看API和查阅一些错误,实现的是
Builder config = XMPPTCPConnectionConfiguration.builder();
config.setHost("127.0.0.1");
config.setPort(5222);
DomainBareJid serviceName = JidCreate.domainBareFrom("bbb") ; //服务器名
config.setServiceName(serviceName);
config.setHostAddress(InetAddress.getByName("bbb")); //服务器名
config.setUsernameAndPassword("test1", "111111");
config.setResource("resource");
config.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled);
XMPPTCPConnection xmppCon = new XMPPTCPConnection(config.build());
xmppCon.connect();
xmppCon.login();
上面的代码可以实现登陆
关于发送消息
EntityBareJid jid = JidCreate.entityBareFrom("aaa@bbb"); //需要链接的用户名@服务器名
Chat chat = chatManager.createChat(jid);
chat.getThreadID();
chat.sendMessage("test");
关于接收消息
添加一个监听
ChatManager chatManager = ChatManager.getInstanceFor(xmppCon);
ChatManagerListener chatManagerListener = new ChatManagerListener() {
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
chat.addMessageListener(new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
if(message.getBody()!=null)
{
System.out.println(message.getBody());
}
}
});
}
};
chatManager.addChatListener(chatManagerListener);
如果写demo的话,注意后面加一个循环,避免程序结束,无法接收消息
while (true) {
Thread.sleep(50);
openfire版本为 4.1.3
关于openfire的配置网上有很多资料,可以找一个配置一下。
这里遇到的问题是,我在配置的时候把端口号从9090,9091改为了19090,19091,导致配置完成的时候无法打开管理控制台,这里需要重启一下电脑
2.smack
smack的版本为4.2.0
网上看到的建立链接的方式有下面两种
一
XMPPConnection connection = new XMPPConnection("wang-think");
二
ConnectionConfiguration config = new ConnectionConfiguration("127.0.0.1", 5222);
XMPPConnection connection = new XMPPConnection(config);
但在4.2上无法使用。
通过看API和查阅一些错误,实现的是
Builder config = XMPPTCPConnectionConfiguration.builder();
config.setHost("127.0.0.1");
config.setPort(5222);
DomainBareJid serviceName = JidCreate.domainBareFrom("bbb") ; //服务器名
config.setServiceName(serviceName);
config.setHostAddress(InetAddress.getByName("bbb")); //服务器名
config.setUsernameAndPassword("test1", "111111");
config.setResource("resource");
config.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled);
XMPPTCPConnection xmppCon = new XMPPTCPConnection(config.build());
xmppCon.connect();
xmppCon.login();
上面的代码可以实现登陆
关于发送消息
EntityBareJid jid = JidCreate.entityBareFrom("aaa@bbb"); //需要链接的用户名@服务器名
Chat chat = chatManager.createChat(jid);
chat.getThreadID();
chat.sendMessage("test");
关于接收消息
添加一个监听
ChatManager chatManager = ChatManager.getInstanceFor(xmppCon);
ChatManagerListener chatManagerListener = new ChatManagerListener() {
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
chat.addMessageListener(new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
if(message.getBody()!=null)
{
System.out.println(message.getBody());
}
}
});
}
};
chatManager.addChatListener(chatManagerListener);
如果写demo的话,注意后面加一个循环,避免程序结束,无法接收消息
while (true) {
Thread.sleep(50);
}
关于测试的话,可以用spark,比较方便。
1 0
- openfire+smack 搭建即时聊天 demo
- 基于openfire+smack开发Android即时聊天应用[一]---openfire安装部署
- 基于openfire+smack开发Android即时聊天应用[四]-单人聊天、群聊、发送接收文件等
- 基于openfire+smack开发Android即时聊天应用[四]-单人聊天、群聊、发送接收文件等
- 基于openfire+smack开发Android即时聊天应用[三]-单人聊天、群聊、发送接收文件等
- 基于openfire+smack开发Android即时聊天应用[四]-单人聊天、群聊、发送接收文件等
- Openfire + Smack 4.1.1 搭建Android聊天平台
- #征文再续#Android基于XMPP Smack Openfire开发IM即时聊天(二)
- 基于openfire+smack开发Android即时聊天应用[二]-用户注册、登陆、修改密码、注销等
- 基于openfire+smack开发Android即时聊天应用[三]-账号信息、添加好友、JID理解等
- 基于openfire+smack开发Android即时聊天应用[五]-简易IM客户端效果图
- 基于openfire+smack开发Android即时聊天应用[一]-用户注册、登陆、修改密码、注销等
- 基于openfire+smack开发Android即时聊天应用[一]-用户注册、登陆、修改密码、注销等
- 基于openfire+smack开发Android即时聊天应用[二]-账号信息、添加好友、JID理解等
- 基于openfire+smack开发Android即时聊天应用[三]-账号信息、添加好友、JID理解等
- 即时通信软件spark+openfire+smack
- 即时通信软件spark+openfire+smack
- openfire即时聊天(一):openfire+spark客户端
- 程序员一生必读的书籍
- jQuery on() 方法 学习笔记
- Shell脚本交互之:自动输入密码
- UNIX环境高级编程习题——第二章
- android查看app日志的一个技能
- openfire+smack 搭建即时聊天 demo
- Java中方法的可变参数
- Laravel5中Cookie的使用
- http://www.myexception.cn/mysql/2040843.html
- 解决ie8css兼容
- OSG中pick函数的使用
- iOS 之定时器
- ubuntu将dash变为bash
- java架构有哪些