无法让nntp客户端(nodejs)正常工作

时间:2014-11-11 14:43:33

标签: javascript node.js upload nntp usenet

我尝试使用'nntp' package for节点将消息发布到usenet上的组。 我无法让这个例子起作用,唯一对我有用的例子是#34;获取以&#39; alt.binaries开头的所有新闻组的列表。&#39;&#34;。< / p>

上传示例代码:

var NNTP = require('nntp'),
    inspect = require('util').inspect;

var c = new NNTP();
c.on('ready', function() {
  var msg = {
    from: { name: 'Node User', email: 'user@example.com' },
    groups: 'alt.test',
    subject: 'Just testing, do not mind me',
    body: 'node.js rules!'
  };
  c.post(msg, function(err) {
    if (err) throw err;
  });
});
c.on('error', function(err) {
  console.log('Error: ' + err);
});
c.on('close', function(had_err) {
  console.log('Connection closed');
});
c.connect({
  host: 'example.org',
  user: 'foo',
  password: 'bar'
});

上面的代码段中的主机,用户和密码不正确,但我确定它们是正确的(我可以使用其他示例来处理这些设置)。

我得到的错误是:

/Develop/node/Usenet/node_modules/nntp/lib/nntp.js:662
  this._debug('> ' + this._curReq.cmd + ' ' + this._curReq.params);
       ^
TypeError: Property '_debug' of object #<NNTP> is not a function

如果我在c.connect中向对象添加调试功能,我会收到以下错误:

/Develop/node/Usenet/node_modules/nntp/lib/nntp.js:265
        self._curReq.cb(undefined, code, retval, type);
                     ^
TypeError: Property 'cb' of object #<Object> is not a function

我正在使用节点v0.10.32。 我希望有人可以帮助我。 谢谢, 瑞克

1 个答案:

答案 0 :(得分:0)

只需在connect

上的options对象上添加“debug:function(){}”
var c = new NNTP();

c.on('ready', function() {
    var msg = {
        from: { name: 'Node User', email: 'user@example.com' },
        groups: 'alt.test',
        subject: 'Just testing, do not mind me',
        body: 'node.js rules!'
    };

    c.post(msg, function(err) {
        if (err) throw err;
    });
});

c.on('error', function(err) {
    console.log('Error: ' + err);
});

c.on('close', function(had_err) {
    console.log('Connection closed');
});

c.connect({
    host: 'example.org',
    user: 'foo',
    password: 'bar',
    debug: function(){}
});