2016-09-21 52 views
2

Im使用MEAN堆棧,帶有angularjs前端,節點後端。Socket在服務器端代碼節點內發射

是否有可能使某個套接字在某些功能中發出呼叫?即時只有intrested將數據發送到客戶端。

或者如何推動服務器雙面工作,可以用套接字來完成嗎?

客戶機請求是如下服務器雙面

var bankfactory = require(path.resolve('./modules/articles/server/factory/user_factory.js')); 


app.post('/api/bank', function (req, res) { 
bankfactory.bank_inn(req.user._id,amount).then(function (bankresult) { 
       res.json(bankresult); 
      }); 
}); 

bankfactory:

exports.bank_inn = bank_inn; 


    function bank_inn(playerid,amount) { 

if (playerid == 1) { 

} else { 

    // possible to make a emit call to the client here? 
//emit("newevent,datahere) 
} 

    } 

是有可能使內有一個插座發射?

回答

0

您可以添加自己的活動發射器和發射bank_inn函數內部的事件:如果我有80個差異文件,我需要做的是對所有的人都

'use strict'; 
const EventEmitter = require('events'); 
class MyEmitter extends EventEmitter {} 
const myEmitter = new MyEmitter(); 

function bank_inn(playerid,amount) { 

if (playerid == 1) { 

} else { 
    myEmitter.emit('myevent', someData); 
} 

io.sockets.on('connection', function (socket) { 
    myEmitter.on('myevent', function(someData) { 
     socket.emit('someEvent', someData); 
    }); 
}; 
+0

所以呢? – maria

+0

不,定義myEmitter只有一次,然後發出各種事件,只要你需要 – mk12ok

+0

我的意思是連接上的套接字;) – maria