如何使用聊天客户端未接收到的 slimXMPP 发送一些数据?
Posted
技术标签:
【中文标题】如何使用聊天客户端未接收到的 slimXMPP 发送一些数据?【英文标题】:How can I send some data with sleekXMPP that is NOT picked up by a chat client? 【发布时间】:2015-09-03 13:40:34 【问题描述】:我想将 XMPP 用作我的应用的“哑数据传输”,因为它有用户、联系人列表和绕过 NAT 的方式。
SleekXMPP 看起来很棒 - 它让连接、联系和发送聊天消息变得非常容易。
但是我应该如何发送不是聊天消息的数据?即使我更改了消息“类型”,我仍然会在我的常规聊天客户端中看到这些消息。
我序列化所有我自己的数据,所以我不需要多种类型,这只是一种通过 XMPP 发送数据而不会向某人的聊天日志发送垃圾邮件的简单方法!
【问题讨论】:
【参考方案1】:请参阅here,了解如何制作自己的 XMPP 扩展。
您必须选择使用<iq>
或<message>
节发送数据。
<iq>
s 从一个客户端到另一个客户端。它们可以包含您自己的 XML 数据,但 <iq>
元素必须只有一个子元素。但是您必须订阅在线状态才能发送这些(您必须在他们的“联系人列表”中),否则您无法知道哪些客户当前在线。
<message>
s 可以传送到收件人当前正在使用的多个客户端。它们遵循您使用的消息类型的传递规则,您应该阅读RFC 6121 § 5.2.2 了解详细信息。
【讨论】:
以上是关于如何使用聊天客户端未接收到的 slimXMPP 发送一些数据?的主要内容,如果未能解决你的问题,请参考以下文章
Socket入门笔记 用TcpClient实现一个简易聊天室
如何在 slimxmpp python 中为 gcm ccs 请求创建 xmpp 节?
HTTP 请求未使用客户端身份验证方案“Ntlm”未经授权从服务器接收到的身份验证标头为“NTLM”