- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 xmppframework 的新手。我有一个快速的问题。是否有可能知道某个 JID 是否可用。换句话说,是否可以检查用户名是否已与特定帐户关联或注册。
最佳答案
使用 jabber 搜索是的,您可以搜索并找到具有特定 jID 或用户名或...的用户
在这里,我创建了一个函数,它将一些 jID 作为参数,服务器响应您作为查询,并且在该查询中如果有任何匹配,将会有包含具有匹配 jID 的用户的项目
func xmppQueryForSearchPacket(forJID jid: String) {
let searchingServer = "search.something" //something must replace with your xmpp domain name
let query = DDXMLElement(name: "query", xmlns: "jabber:iq:search")
let x = DDXMLElement(name: "x", xmlns: "jabber:x:data")
x.addAttribute(withName: "type", stringValue: "submit")
let field1 = DDXMLElement(name: "field")
let value1 = DDXMLElement(name: "value", stringValue: "jabber:iq:search")
field1.addAttribute(withName: "type", stringValue: "hidden")
field1.addAttribute(withName: "var", stringValue: "FORM_TYPE")
field1.addChild(value1)
let field2 = DDXMLElement(name: "field")
let value2 = DDXMLElement(name: "value", stringValue: jid)
field2.addAttribute(withName: "type", stringValue: "text-single")
field2.addAttribute(withName: "var", stringValue: "search")
field2.addChild(value2)
//we just search in userNames
let field3 = DDXMLElement(name: "field")
let value3 = DDXMLElement(name: "value", stringValue: "1")
field3.addAttribute(withName: "type", stringValue: "boolean")
field3.addAttribute(withName: "var", stringValue: "Username")
field3.addChild(value3)
x.addChild(field1)
x.addChild(field2)
x.addChild(field3)
query.addChild(x)
let iq = XMPPIQ(iqType: .set, to: XMPPJID(string: searchingServer), elementID: XMPPStream.generateUUID, child: query)
XMPPStream.send(iq)
}
该数据包的答案将以查询形式出现,您可以这样接收它:
extension yourClassName: XMPPStreamDelegate {
func xmppStream(_ sender: XMPPStream, didReceive iq: XMPPIQ) -> Bool {
let searchingServer = "search.something"
if iq.from?.bare != searchingServer {
return true
}
return false
}
}
更多信息请阅读XEP-0055 .
关于ios - 如何检查用户 JID 是否已在 XMPPFrameWork 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51758226/
经过数小时的调试并试图找出为什么使用 aSmack 无法进行文件传输,而正常的消息传递却可以,我终于设法将其归结为这一点。 当我按照 Smack 文档中给出的方法获取用户的名册列表时,Openfire
我的聊天机器人有大约 100 个客户的电子邮件 ID。我可以制作一个 JID 数组或某种东西来存储许多电子邮件吗?谢谢。 最佳答案 您可以将它们存储在 App Engine Datastore 中;您
同一个用户登录了三个设备(用户名“A”),如果消息发送到这个用户(用户名“A”)来自另一个用户(用户名:“B”)只有一个设备正在接收其他两个设备未接收到的消息。 请给我一个解决方案。 最佳答案 用户A
在xmpp中,以下2个用户可以加入多用户聊天(MUC)或订阅同一个pub-sub节点吗? public@service.com/user1public@service.com/user2 最佳答案 加
在xmpp中,以下2个用户可以加入多用户聊天(MUC)或订阅同一个pub-sub节点吗? public@service.com/user1public@service.com/user2 最佳答案 加
我使用 xmpp4r gem 创建简单的 jabber 机器人。你怎么知道房间里的 jid 用户?我如何知道 jid 发布了一条消息? 示例代码: @room.join Jabber::JID.n
我正在 Android 中开发基于 XMPP 的聊天应用程序。 我已经完成了一对一聊天功能,但在多用户聊天中遇到了一些问题。我已经成功创建了新的聊天室,多个用户可以加入该房间。我还为 addPacke
我正在开发一个 XMPP 应用程序并将进行全局共享花名册,这样我就不必进行状态订阅请求。我还需要获得一定范围内的 JabberID,而不是整个全局花名册。我们不想做单一的定向存在节,因为那将需要多达
在 Openfire 中,用户是使用“用户名”(用作 JID 的基础)和描述性“名称”创建的。如何在 XMPP 中检索给定 JID 的名称?我正在使用 XMPPFramework。 最佳答案 您可以使
您好,我是新手:我已经设置了一个 Openfire 服务器并使用 Spark IM 对其进行了测试。但是对于 Android 应用程序代码, session 中用户的 JID 应该是什么: 我试过 u
我正在使用 http://xmppjs.prosody.im/ 编码一个 xmpp 组件.我想向 jid 发送消息,但前提是用户在线。实现这一目标的最快/最有效的方法是什么。 我想检测到这一点,例如,
我刚刚下载了适用于 IOS 的 XMPP 框架,当我运行示例应用程序时,它会要求输入 JID 和 密码,它有一个示例代码 谁能告诉我如何在IOS中实现实时聊天。那么如何获得JID呢? 谢谢 最佳答案
我是 xmppframework 的新手。我有一个快速的问题。是否有可能知道某个 JID 是否可用。换句话说,是否可以检查用户名是否已与特定帐户关联或注册。 最佳答案 使用 jabber 搜索是的,您
我正在使用 smack-android:4.1.0 进行聊天,我正在使用 openfire。当我尝试在 android 中使用 AccountManager 创建帐户时,我遇到 jid-malform
验证 xmpp jid 的正确方法是什么?语法描述为 here: ,但我真的不明白。此外,它看起来相当复杂,因此使用库来完成它似乎是个好主意。 我目前正在使用 xmpppy,但我似乎无法找到如何使用它
当我试图将 worker 返回的 jid 推送到模型上的序列化字段时,我遇到了一些奇怪的行为。最好用这段代码解释: class Foo Foo.new.jids.class => Array > B
在我的聊天应用程序中,我想实现一个功能,只要用户已经登录,并且如果他/她想使用相同的用户名和密码再次登录其他设备,它应该将用户回复一条消息 - “你是已经在其他地方登录” 我只知道这种检查登录状态的方
我正在尝试使用 camel-xmpp-component 从 A@jabber.de 向用户 B@jabber.de 发送一条(私有(private))直接消息。但它总是说“jid-malformed
当我在应用程序中收到 XMPP Presence 时,我将其内容添加到 NSMutableDictionary 以将其发送到另一个 ViewController。如果我使用 NSLog 来查看这本字典
是否有任何选项可以使用 XMPP 框架 iOS 更改我的 jId (ejabberd ID)?假设目前我的 jID 是 12345@localhost。我想将其更改为 6789@localhost。就
我是一名优秀的程序员,十分优秀!