如何连接socket.io和rethinkdb?

时间:2016-10-21 02:32:39

标签: sockets websocket socket.io rethinkdb

经过几个小时的尝试。我还没有成功。

这就是我所拥有的。

var app     = require('express')(),
    http    = require('http').Server(app),
    io      = require('socket.io')(http),
    r       = require('rethinkdb');

http.listen(5000);
console.log('Server started on port 5000');

r.connect({db: 'testRealtime'}).then(function(c) {
    r.table('messages').insert(
        { message: "realtime" }
    )

    r.table('messages').changes().run(c)
        .then(function(cursor) {
            cursor.each(function(err, item) {
                io.emit('messages', item)
            })
        })
})

正如您在上面的例子中看到的那样。我正在尝试实时插入消息并在rethinkdb仪表板上查看它。但这并不奏效。我不知道为什么。

Rethinkdb查询r.db('testRealtime').table('messages').changes()

因为我使用angular2。这是我创建的服务

import * as io from 'socket.io-client'

export class ChatService {
    private url = 'http://localhost:5000'
    private socket;

    getMessages() {
        this.socket = io(this.url);

        this.socket.on('messages', function(data){
            console.log(data.new_val.query_engine)
        })
    }
}

在我的组件上,我只是调用getMessages表单服务。没有什么可担心角度代码。我认为它更多的是关于socket.io和rethinkdb的连接。

任何帮助将不胜感激。感谢。

0 个答案:

没有答案