经过几个小时的尝试。我还没有成功。
这就是我所拥有的。
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的连接。
任何帮助将不胜感激。感谢。