npm mpd — как пройти аутентификацию на сервере mpd

я использую node.js и модуль npm mpd для связи с mpd-сервером на другом хозяин. мой клиент подключается к mpd-серверу, но я не могу отправить какие-либо команды на сервер. при попытке отправить команду я получаю

[4@0] {status} you don't have permission for "status"

mpd-сервер защищен паролем. я пытался аутентифицироваться с этим

mpd_client.on('connect', function(){
    mpd_client.on('ready', function() {
        mpd_client.password = req.session.password;
        mpd_client.sendCommand("status");
    });
});

это не работает. как я могу подключиться к mpd-серверу, используя пароль с этим модулем?


person Hinrich    schedule 20.08.2014    source источник


Ответы (1)


ок, сам разобрался. оказывается есть команда для аутентификации с помощью mpd

mpd_client.on('ready', function() {
    console.log('mpd ready');
    mpd_client.sendCommand(cmd("password", [<my_password_string>]), function(err, msg) {
        if (err) throw err;
        console.log(msg);
    });
});
person Hinrich    schedule 20.08.2014
comment
Я не могу заставить его работать с моим сервером MPD. Я получаю сообщение об ошибке: Ошибка: [4@0] {idle} у вас нет разрешения на бездействие. У вас есть идеи, как заставить его работать? - person Andrei Tătar; 21.04.2015
comment
это означает, что вы не прошли аутентификацию должным образом на сервере mpd. я переключился на komponist, другой пакет npm. я рекомендую вам проверить это вместо этого, оказалось намного проще в использовании для меня и с лучшей документацией. в качестве альтернативы, покажите какой-нибудь код или, может быть, откройте новую проблему. я постараюсь помочь - person Hinrich; 23.04.2015
comment
Я проверил код, и кажется, что библиотека mpd отправляет команды бездействия до того, как я получаю возможность пройти аутентификацию. Я изменил настройки своего сервера, чтобы разрешить чтение для неаутентифицированных подключений. После этого он работал нормально. Я также проверю компонист. Спасибо - person Andrei Tătar; 23.04.2015