Не можете отправить сообщение с xmpp4r?

Я пытаюсь проверить отправку сообщения на одну учетную запись jid с помощью xmpp4r:

require 'xmpp4r'
include Jabber

jid = JID::new('alice@wonderland.lit')
password = 'secr3t'

cl = Client::new(jid)
cl.connect('166.78.7.179')
cl.auth(password)
cl.send(Presence.new)

to = 'arthur@wonderland.lit'
subject = 'XMPP4R test'
body = 'Hi, this is a XMPP4R test'
m = Message::new( to, body ).set_type(:chat).set_id('1').set_subject(subject)
cl.send m

Но я всегда получаю следующее исключение:

/home/subout/.rvm/gems/ruby-1.9.3-p374@subout/gems/xmpp4r-0.5/lib/xmpp4r/client.rb:118:in `rescue in auth': closed stream (Jabber::ClientAuthenticationFailure)
   from /home/subout/.rvm/gems/ruby-1.9.3-p374@subout/gems/xmpp4r-0.5/lib/xmpp4r/client.rb:108:in `auth'
   from send_message2.rb:9:in `<main>'

1 ответ

  • Прежде всего, не могли бы вы добавить Jabber::debug = true установка перед cl.connect а выложить вывод тут?
  • Во-вторых, похоже, что есть проблема с сервером XMPP (вы уверены, что он работает на "166.78.7.179"?)
  • И, наконец, что не менее важно, почему вы решили использовать "устаревшие" xmpp4r а не его современный преемник Blather?
Другие вопросы по тегам