2014-02-19 111 views
0

我想从我的server.js发出一个套接字并在我的index.html中处理它。 这里是我的server.js代码:通过nodejs套接字进行通信(从服务器到index.html)

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中我只是试着提醒每当插座被emmited:

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

      }); 

但是我没有惊动。 find()方法在我的控制台中至少返回5个对象。

UPDATE 发送套接字确实发射并且数据确实插入到数据库中。唯一的问题是,data_to_be_printed插座是没有得到emmited

UPDATE 我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> 
+0

当你发射时,它是否在我们的服务器控制台上打印相同的东西(事件名称和数据)?以及你是如何在索引文件中创建套接字连接的?该代码将有助于更多。 – Pranav

+0

@Pranav我添加了在index.html中创建套接字的代码。我不确定你打印的意思。让我知道我是否可以获得更多信息 – Bula

回答

0

原来我忘了重新启动我的server.js 。

相关问题