2014-02-19 151 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 。

相關問題