0

我正在尝试使用node的“nntp”包向 usenet 上的组发布消息。我无法让这个例子工作,唯一对我有用的例子是“获取以'alt.binaries'开头的所有新闻组的列表。”。

上传示例代码:

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。我希望有人可以帮助我。谢谢,里克

4

1 回答 1

0

只需在连接时在选项对象上添加“调试:函数(){}”

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(){}
});
于 2015-02-19T11:07:22.633 回答