openfire 服务端讯息回执添加和响应
来源:互联网 发布:android官方文档 知乎 编辑:程序博客网 时间:2024/05/19 06:39
openfire 服务端讯息回执添加和响应
收藏
- 发表于 3年前
- 阅读 2204
- 收藏 2
- 点赞 0
- 评论 1
openfire 服务端消息回执添加和响应
openfire本身有很多比较好的实现框架,如asmack和smack。具体的大家可以上网搜索。因为openfire本身对长连接的支持不是很好,而且相对来说,长连接也挺消耗资源的,但是,又要必须做到及时响应。
这就存在了一些特殊的账户要存在在服务器中。这些账户能实现自动添加好友,自动响应消息和消息回执响应,而消息回执的响应和请求在smack端有很好的封装,而我服务端也按照其xml请求和响应,如下:
PacketExtension packetExtension2 = new PacketExtension(DeliveryReceipt.ELEMENT,DeliveryReceipt.NAMESPACE);// 将消息id返回给发送信息用户 表明已经接收到packetExtension2.getElement().addAttribute("id", message.getID());// 回执请求设置responseMessage.addExtension(packetExtension2);XMPPServer.getInstance().getRoutingTable().routePacket(message.getFrom(), responseMessage, true);
而消息回执的响应相对来说复杂一点,如下:
private static Message packMessageProperty(Message requestMessage , Map<String, String> propertyValue){String key = null;String value = null;for (Map.Entry<String, String> entry: propertyValue.entrySet()) {key = entry.getKey();value = entry.getValue();}Message sendMessage = new Message();sendMessage.setFrom(requestMessage.getTo());sendMessage.setTo(requestMessage.getFrom());sendMessage.setType(org.xmpp.packet.Message.Type.chat);// 封装property数据PacketExtension packetExtension = new PacketExtension("properties","http://www.jivesoftware.com/xmlns/xmpp/properties");Element root = packetExtension.getElement();Element propertyElement = root.addElement("property");Element nameElement = propertyElement.addElement("name");Element valueElement = propertyElement.addElement("value");nameElement.setText(key);valueElement.addAttribute("type", "string");valueElement.setText(value);sendMessage.addExtension(packetExtension);return sendMessage;}
设置消息回执主要原因有以下几条:
1.查看消息是否发送成功,方便再次发送
2.统计openfire消息的送达率
3.弥补openfire丢包的风险等
openfire 服务端讯息回执添加和响应
收藏
- 发表于 3年前
- 阅读 2204
- 收藏 2
- 点赞 0
- 评论 1
openfire 服务端消息回执添加和响应
openfire本身有很多比较好的实现框架,如asmack和smack。具体的大家可以上网搜索。因为openfire本身对长连接的支持不是很好,而且相对来说,长连接也挺消耗资源的,但是,又要必须做到及时响应。
这就存在了一些特殊的账户要存在在服务器中。这些账户能实现自动添加好友,自动响应消息和消息回执响应,而消息回执的响应和请求在smack端有很好的封装,而我服务端也按照其xml请求和响应,如下:
PacketExtension packetExtension2 = new PacketExtension(DeliveryReceipt.ELEMENT,DeliveryReceipt.NAMESPACE);// 将消息id返回给发送信息用户 表明已经接收到packetExtension2.getElement().addAttribute("id", message.getID());// 回执请求设置responseMessage.addExtension(packetExtension2);XMPPServer.getInstance().getRoutingTable().routePacket(message.getFrom(), responseMessage, true);
而消息回执的响应相对来说复杂一点,如下:
private static Message packMessageProperty(Message requestMessage , Map<String, String> propertyValue){String key = null;String value = null;for (Map.Entry<String, String> entry: propertyValue.entrySet()) {key = entry.getKey();value = entry.getValue();}Message sendMessage = new Message();sendMessage.setFrom(requestMessage.getTo());sendMessage.setTo(requestMessage.getFrom());sendMessage.setType(org.xmpp.packet.Message.Type.chat);// 封装property数据PacketExtension packetExtension = new PacketExtension("properties","http://www.jivesoftware.com/xmlns/xmpp/properties");Element root = packetExtension.getElement();Element propertyElement = root.addElement("property");Element nameElement = propertyElement.addElement("name");Element valueElement = propertyElement.addElement("value");nameElement.setText(key);valueElement.addAttribute("type", "string");valueElement.setText(value);sendMessage.addExtension(packetExtension);return sendMessage;}
设置消息回执主要原因有以下几条:
1.查看消息是否发送成功,方便再次发送
2.统计openfire消息的送达率
3.弥补openfire丢包的风险等
阅读全文
0 0
- openfire 服务端讯息回执添加和响应
- 关于XMPP和openfire中的消息回执和聊天状态
- Openfire服务端安装和配置
- Openfire服务端安装和配置
- Openfire服务端安装和配置
- openfire服务端消息回执插件(接收方离线时的情况),判断用户的在线状态
- openfire服务端消息回执插件(接收方离线时的情况),判断用户的在线状态
- openfire服务端消息回执插件(接收方离线时的情况),判断用户的在线状态
- openfire服务器端增加消息回执,解决openfire丢包问题
- 3. 视窗和讯息
- Android客户端移动流量无法登陆OpenFire服务端及长时间无响应登链接中断问题
- openfire smack消息回执设置,处理掉包问题
- openfire smack消息回执设置,处理掉包问题
- openfire smack消息回执设置,处理掉包问题
- IM平台的搭建:openfire服务端和spark客户端
- XMPP(一)-openfire服务端的安装和搭建
- XMPP(一)-openfire服务端的安装和搭建
- openfire+smack添加好友申请及好友对申请响应监听
- openfire中添加好友发送验证消息
- openfire 用户注册过程 服务器端
- 优化openfire服务器提升xmpp 效率的15个方法(原创)
- cocos加载3d精灵不显示,打印台无报错
- 开发创建XMPP“发布订阅”扩展(xmpp pubsub extend)
- openfire 服务端讯息回执添加和响应
- 在openfire中添加消息队列,防止聊天信息丢失方法
- 高德API调研
- openfire连接登陆优化方案
- 简明教程-linux 之 7z文件解压缩
- 使用movielens-100k测试UserBasedCF与ItemBasedCF并可视化结果
- 基于XMPP协议的消息推送的客户端和服务器端
- 从PAXOS到ZOOKEEPER分布式一致性原理与实践--2PC(Two-Phase Commit)
- Lua运行环境搭建