2016-05-10 75 views
1

我試圖通過socket.io發出消息。我想在一個快速路由器被調用時執行它。如何通過套接字內部快速路由器發送消息

var express   = require("express"); 
var app    = express(); 
var http   = require('http').Server(app); 
var io    = require('socket.io')(http); 
var bodyParser  = require("body-parser"); 
var router   = express.Router(); 

router.route("/test").post(function(req,res){ 
    console.log(req.body) 
    response = {"error" : false,"message" : "api worked"}; 
    /*I want to emit a message via socket here */ 
}); 


app.use('/',router); 
app.listen(3010); 
console.log("Listening to PORT 3010"); 

我該怎麼辦,我見過很多使用套接字的例子。但是我找不到我想要的東西。我也檢查了以下問題。但我無法完成它

How to use socket.io in express routes?

+1

發送消息給誰?以什麼用戶?對所有連接的用戶?還是提出當前請求的那個? – jfriend00

+0

技術上我想要做的是,我想創建一個API作爲例子「example.com/test」。當用戶調用api時,我想發送一個推送通知給我的android應用程序。所以在我的情況下,我想發送消息給所有用戶。 –

+1

'io.emit(「someMsg」,someData)'將發送給所有連接的用戶。當然,您的客戶需要連接到socket.io才能收到消息。 – jfriend00

回答

2

發佈我的評論作爲一個答案,因爲它爲你工作。

io.emit("someMsg", someData); 

將發送給所有連接的用戶。當然,您的客戶需要使用socket.io連接才能收到消息。

相關問題