2013-04-02 4 views
0

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

require 'xmpp4r' 
include Jabber 

jid = JID::new('[email protected]') 
password = 'secr3t' 

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

to = '[email protected]' 
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/[email protected]/gems/xmpp4r-0.5/lib/xmpp4r/client.rb:118:in `rescue in auth': closed stream (Jabber::ClientAuthenticationFailure) 
    from /home/subout/.rvm/gems/[email protected]/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?
+0

После того, как я переключился с Vines на ejabberd, он отлично работает. Я также хотел бы попробовать Blather, но как я могу отправить простое сообщение без блокировки с EventMachine? – Samnang

+0

У Vines есть некоторые проблемы, да. Код агента Vines заполнен примерами отправки неблокирующих строф с EM. – mudasobwa

+0

@mudasobwa Глядя на код агента винограда, но если бы вы могли указать на такой пример, я был бы признателен. – gduq

Смежные вопросы