2016-05-10 43 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连接才能收到消息。

相关问题