使用 ruby xmpp4r 向离线 Google Talk 用户发送 XMPP 消息
使用 Perl 的 Net::Jabber 时,向离线用户发送简单消息会导致当用户上线时发送给他的消息(它甚至在用户的 Gmail 帐户中显示为未读消息)。这就像
my $msg = Net::Jabber::Message->new();
$msg->SetMessage(...);
$connection->Send($msg);
在 Ruby xmpp4r 中做的事情一样简单,做同样的等效事情不将消息发送给离线用户,而不是返回(异步)xmpp 服务不可用节,甚至不返回任何内容,并且也不起作用。消息就这样丢失了。
如何使用 xmpp4r 发送离线消息?
另外,在相关主题中,在 xmpp 的 Jabber::Stream 的 api 文档中send方法,有一个“block”参数。如何使用它?
谢谢
When using Perl's Net::Jabber, sending a simple message to an offline user causes the message to be delivered to the user when he comes online (it even show's in the user's gmail account as unread messages). That's as simple as doing
my $msg = Net::Jabber::Message->new();
$msg->SetMessage(...);
$connection->Send($msg);
In Ruby xmpp4r, doing the same equivalent thing does not send the message to an offline user, instead returning (async) a xmpp service-unavailable stanza or even not returning anything, and also not working. Message is simply lost.
How can one send an offline message with xmpp4r?
Also, in related subject, in xmpp's api docs for Jabber::Stream's send method, there is a "block" parameter. How does one use that?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确保您正在对消息执行
type=:chat
。(为了长期清晰起见,代码复制自 Ricardo Pardini 的评论)
Make sure that you're doing
type=:chat
on the message.(code copied from Ricardo Pardini's comment, for long-term clarity)