Connecting to Google Talk over XMPP on Node.js

前端 未结 2 641
灰色年华
灰色年华 2020-12-23 12:37

I\'ve tried using a variety of XMPP libraries for Node.js, and am having trouble connecting to Google Talk\'s XMPP servers. I\'m wanting to connect and read the status of f

相关标签:
2条回答
  • 2020-12-23 13:22

    I am on ubuntu linux so to install it I first had to do this(First install node/npm following receipe from npm website).

    sudo apt-get install libexpat1 libexpat1-dev 
    npm install node-xmpp
    sudo apt-get install libicu-dev 
    npm install node-stringprep
    

    With this snippet I succesfully logged in and sent a message from my gmail account to my jabber.org account:

    var argv = process.argv;
    const xmpp = require('node-xmpp');
    const sys = require('sys');
    
    if (argv.length != 5) {
        sys.puts('Usage: node xmpp.js <my-jid> <my-password> <to>');
        process.exit(1);
    }
    
    const jid = argv[2];
    const password = argv[3];
    const to = argv[4];
    
    // Establish a connection
    const conn = new xmpp.Client({
        jid         : jid,
        password    : password,
        host        : 'talk.google.com',
        port        : 5222
    });
    
    conn.on('online', function(){
        console.log('online');
    
        conn.send(new xmpp.Element('presence'));
        conn.send(new xmpp.Element('message',
            { to: to, // to
                type: 'chat'}).
                c('body').
                t('testje'));
    });
    
    conn.on('error', function(e) {
        sys.puts(e);
    });
    
    0 讨论(0)
  • 2020-12-23 13:33

    Figured it out.

    I was working with some inaccurate examples.

    In my example above, you'll want to change:

    var conn = new xmpp.Component({...})
    

    ...to...

    var conn = new xmpp.Client({...})
    
    0 讨论(0)
提交回复
热议问题