通过nodejs套接字进行通信(从服务器到index.html)

时间:2014-02-19 10:27:15

标签: node.js mongodb sockets

我正在尝试从server.js发出一个套接字并在我的index.html中处理它。 这是我的server.js代码:

io.sockets.on("connection",function(socket){
socket.on("send",function(data){

    mongodb.connect("mongodb://127.0.0.1:27017/myDatabase",function(err,db){
        if(err) throw err;
        var to_be_inserted = {name: data.name,content: data.content};
        db.collection("chat").insert(to_be_inserted,function(err,objects){
            if(err) throw err;

            var cursor = db.collection("chat").find();

            cursor.toArray(function(err,docs){
                socket.emit("data_to_be_printed",docs);
            });

        });
    })
})

})

在index.html中,我只是尝试在套接字被触发时发出警报:

socket.on("data_to_be_printed",function(cursor){
                alert("at least this works");

            });

但是我没有得到警告。 find()方法确实在我的控制台中返回至少5个对象。

更新 发送套接字会发出,数据会插入到数据库中。唯一的问题是data_to_be_printed套接字没有被删除

更新 我在index.html中创建套接字的方式是:

 <script src="http://127.0.0.1:1337/socket.io/socket.io.js"></script>


       <script>
            var socket = io.connect("127.0.0.1:1337");
</scrip>

1 个答案:

答案 0 :(得分:0)

原来我忘记重启我的server.js。