2014-05-06 37 views
3

我需要roomId(主密鑰爲auto_increment)來查找特定房間以更新聊天信息。我現在這樣做的方式是愚蠢的。獲取Node.js中的當前聊天室ID

在​​,我使用roomName從一種形式的用戶輸入來創建一個房間模型,並發現其roomId,然後進行roomId一個URL的PARAM:

var Room = require('../models/database').Room 

exports.create = function (req, res) { 


Room 
    .create({ 
     room_name: req.body.roomName 
    }) 
    .complete(function() { 

     Room 
      .find({where: {room_name: req.body.roomName}}) 
      .success(function (room) { 


       res.redirect('rooms/videochat/' + req.body.roomName + '/' + room.room_id); 


     }) 

    }) 

}; 
routes.js

,我搶roomIdreq.params.roomId並把它傳遞到一個視圖文件玉所以它可以顯示視頻聊天頁面上:

app.get('/rooms/videochat/:roomName/:roomId', function (req, res) { 
    res.render('videochat.jade', {roomName: req.params.roomName, roomId: req.params.roomId}); 
}); 

在客戶端的JavaScript,我我們Ë

var roomId = $('#roomId span').text(); 

得到roomId,然後用socket.emit傳回服務器端:

socket.emit('updateStartTime', roomId); 

回答

0

您需要的時候用戶斷開

socket.emit('disconnect', roomId); 

做到以下幾點我希望這是你所需要的。

+0

它不工作。現在斷開連接只發生在用戶點擊關閉窗口按鈕時。 –