除聊天文本外的 Smack 消息客户端
client1 可以使用
connection.getChatManager().createChat(to, this).sendMessage(message);
如何发送其他类型的消息:如 INFO 消息? (客户端1到客户端2)?
因为我想要,INFO 消息不应该显示在聊天窗口中......这可能吗?使用 smack、smackx 库。
非常感谢。
client1 can send txt message to client2 using
connection.getChatManager().createChat(to, this).sendMessage(message);
How to send other kind of message: like INFO message ? (client1 to client2) ?
Because I want, INFO message should not be displayed in the chat window....is it possible ? using smack, smackx library.
Many Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您在这里要做的就是为您的短信添加扩展名。这是一个粗略的指南。
这些属性位于单独的命名空间中(使用 toXML() 查看它),并且不会出现在聊天窗口中。在“另一侧”,应用程序使用
getProperty()
来检索该值。如果您不需要键/值对,而是结构化数据,请在消息正文中使用
addExtension()
。这有点复杂,因为您基本上必须扩展PacketExtension
,提供您自己的命名空间。您甚至可能需要编写一个PacketExtensionProvider
。What you want do do here is to add an extension to your text message. Here is a rough guide.
The properties are carried in a separate namespace (use
toXML()
to look at it) and will not appear in the chat window. On the 'other side', the applications usesgetProperty()
to retrieve the value.If you do not want key/value pairs, but structured data, use
addExtension()
in the message body. This is a little more complicated because you basically have to extendPacketExtension
, provide your own namespace. You might even have to write aPacketExtensionProvider
.这是消息扩展的示例。
XMPP协议的基本XML结构为:
发送消息的过程:
UserInfo4XMPP定义为:
Here is the example for message extension.
The basic XML structure of the XMPP protocol is:
The process of sending messages:
The UserInfo4XMPP is defined as:
消息扩展的一个更复杂的示例:
扩展类 VideoChatRIP 必须实现 PacketExtension:
监听器:
处理:
A more complicated example of message extention:
The extension class VideoChatRIP must implement PacketExtension:
The Listener:
Processing: