无法在本地连接到RethinkDB。获取“rdp协议端口(坏幻数)”

时间:2014-07-10 04:18:57

标签: javascript database database-connection rethinkdb rethinkdb-python

我正在尝试在本地连接到RethinkDB,我收到一条奇怪的错误消息,我找不到任何其他文档。

此连接适用于我的办公室计算机,但在家中的MacBook Pro 10.9.2上无效。

当我运行我的应用程序时,我收到此错误:

{ name: 'RqlDriverError',
  msg: 'Server dropped connection with message: "ERROR: this is the rdb protocol port (bad magic number)"',
  message: 'Server dropped connection with message: "ERROR: this is the rdb protocol port (bad magic number)"' }

我要求在文件顶部放置RethinkDB。这是我的应用中无法连接的代码:

r.connect({ 
    host: 'localhost',
    port: 28015 
},
function(err, conn) { 
    if (err){
        return console.error(err);
    };
    r.db('Tictactoe').table('Users').insert({
        move: req.query.move
    }).run(conn, function(err, res){
        if (err){
            return console.error(err);
        }
    });

});

这是我的Github回购链接。 https://github.com/RaySinlao/tic_tac_toe/blob/master/app.js

我认为在我设置完全相同之后,它在我的公司计算机上运行而不是我的家用计算机是非常奇怪的。

2 个答案:

答案 0 :(得分:2)

运行

npm uninstall rethinkdb

然后

npm install rethinkdb@1.12.0-1

这应该可以解决您的问题(您需要服务器和驱动程序具有相同的主要版本 - 前两个数字)。

如果在某些时候更新服务器,请不要忘记使用

更新驱动程序
npm install rethinkdb

答案 1 :(得分:1)

确保您的RethinkDB JavaScript驱动程序是最新的,并且服务器和客户端驱动程序版本匹配(检查rethinkdb --versionnpm list rethinkdb包。)

正在改进错误消息"ERROR: this is the rdb protocol port (bad magic number)"以明确指出版本不匹配,请参阅GitHub上的此问题:https://github.com/rethinkdb/rethinkdb/issues/2302