草庐IT

物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)

 对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议包括:HTTP、websocket、XMPP、COAP、MQTT1、HTTP和websocket在互联网时代,TCP/IP协议已经一统江湖,现在的物联网的通信架构也是构建在传统互联网基础架构之上。在当前的互联网通信协议中,HTTP协议由于开发成本低,开放程度高,几乎占据大半江山,所以很多厂商在构建物联网系统时也基于http协议进行开发。包括google主导的physicweb项目,都是期望在传统web技术基础上构建物联网协议标准。HTTP协议是典型的CS通讯模式,由客户端主动发起连接,向服务

ios - 使用 xmpp 框架和 quickblox 服务器 iOS 发送群聊消息

我正在使用适用于iOS的quickblox服务器和XMPP框架开发聊天室。我能够成功加入房间。但是,当我尝试发送消息时,它说:发送群聊消息的权限不足。以下是我从quickbloxXMPP服务器收到的响应:hfgGroupNameSubjectInsufficientprivilegestosendgroupchatmessage.P.S我没有使用适用于iOS的quickbloxSDK。 最佳答案 为了使用Quickblox聊天,您需要使用QuickbloxiOSSDK。而且没有别的办法。您可以在此处遵循他们的完整指南:http://

android - 在 xmpp 聊天中发送贴纸的最佳方式

我正在寻找使用xmpp协议(protocol)发送标签的最佳方式:案例一:用户a在本地存储中下载了一组贴纸,他发送了一条xmpp消息,其中包含一些贴纸预览作为原始数据,并发送了原始贴纸的链接,用户b将看到缩略图并从中下载贴纸远程网址案例二:用户a在本地存储中下载了一组贴纸,他将贴纸作为完全原始数据发送,没有传递url关于最佳性能的任何想法? 最佳答案 我认为第一个解决方案是好的。您发送质量差的拇指,应用程序下载原始贴纸。对于发件人和将要接收消息的用户来说,速度很快。我认为同样的方式工作电报。在第二种情况下,您必须发送大量数据。两个用

ios - 在不在线的情况下从 XMPP 获取离线消息

我们正在为我们的移动聊天应用程序使用ejabberd服务器。我们正在为我们的IOS应用程序使用IOSXMPP-Framework(https://github.com/robbiehanson/XMPPFramework)但是我们在实现上遇到了一个问题,我们找不到解决方案。我们已经实现了XMPP消息传递的各个方面,除了一件事之外一切都很好:当我们的应用程序在后台运行时,我们的ejabberd服务器会向我们发送推送通知以通知我们有关离线消息的信息。(仅发送离线消息通知)然后我们决定实现IOS后台推送通知功能,以便在应用程序处于后台时获取离线消息。但问题是我们必须在线(发送状态)才能获得离

ios - 如何在 ios 中的 open fire xmpp 中从另一端的花名册中删除聊天用户

我必须解决打开firexmpp的用户问题。我在DeviceA中添加了user_1,它正在向user_2DeviceB发送请求,正在添加。当我从DeviceA中删除user_2时,它应该删除DeviceB中的user_1但是user_1没有从DeviceB名册中删除我没有收到IQ数据包subscription="remove"我收到了像subscription="to"和subscription="none"这样的IQ数据包如何解决这个问题?上述场景在openfire3.6中按预期工作,但在4.1中出现问题。 最佳答案 根据thisd

ios - 检索消息存档 - XMPPFramework iOS

我正在开发ios消息传递应用程序,我使用了XMPPFramework。此XMPPFramework支持XEP-0313MessageArchiveManagement。我在openfire上启用了监控服务,它正在归档消息。我想从服务器检索归档消息到iOS应用程序。我在google和StackOverflow上进行了研究,但没有找到有关如何检索存档消息并将其保存到核心数据(默认情况下由XMPPFramework使用)的有用资源。我知道这个StackOverflowanswer它向我展示了如何通过IQ节从XMPP检索消息,但我想通过这个已经支持的XMPPFramework直接检索消息,但我

iphone - 来自 XMPP iPhone 的用户配置文件

我在我的iPhone应用程序中使用XMPP聊天,我需要检索好友列表中每个用户的个人资料,如电话号码、街道地址等。我该如何开始? 最佳答案 同时XEP-54可以用于此目的,请不要在每次您的客户登录时通过向您名册上的每个人发出vcard-temp请求来向网络发送垃圾邮件。因为您没有告诉我们您的客户端库是什么在使用时,我们所能做的就是为您提供您需要发送的协议(protocol):请注意,XEP-54即将被XEP-292淘汰。,但这种转变需要几年时间才能发生。 关于iphone-来自XMPPiP

ios - 发送 vCard 更新

我目前正在使用适用于iOS的XMPPFramework,我想到了让用户根据vCards创建自己的个人资料的想法。我制作了一个屏幕,他们可以在其中输入一些信息,例如出生日期、名字/姓氏等。完成后,他们会按“保存”按钮。我想做的是让订阅此用户的每个人都知道他的vCard已更改,但我不确定如何执行此操作。我已经尝试发送vcard-temp:x:update节,但消息没有到达我正在测试的其他设备。有谁知道我该怎么做以及我可以使用哪种方法? 最佳答案 你无法知道vCard的变化,您只能通过XEP了解照片更新:0153此xep使用在线状态将照片

iphone - 未调用 RobbieHanson 的 XMPPFramework didReceiveMessage

我正在iOS上开发并使用RobbieHansonXMPPFramework。永远不会调用方法didReceiveMessage。我确实成功连接,并发送了“存在”(通过使用NSLog确认。这可以通过Openfire管理面板确认,该面板显示用户为绿色且已连接。XMPPPresence*presence=[XMPPPresencepresence];//type="available"isimplicit[[selfxmppStream]sendElement:presence];此外,我收到了didReceiveIQ调用。我不知道什么是IQ,我需要处理它吗?最重要的是我是否让didRece

ios - XMPPFramework - 创建 vCard

我使用以下代码创建vCard无济于事。它总是在ifblock中。有人可以查看一下我是否遗漏了什么吗?xmppvCardStorage=[XMPPvCardCoreDataStoragesharedInstance];xmppvCardTempModule=[[XMPPvCardTempModulealloc]initWithvCardStorage:xmppvCardStorage];XMPPvCardTemp*myvCardTemp=[xmppvCardTempModulemyvCardTemp];if(!myvCardTemp){NSXMLElement*vCardXML=[NSX