【发布时间】:2017-11-23 21:46:57
【问题描述】:
以下工作正常,我可以在我的客户端应用程序上获得 http 响应,但 socketio 发出似乎不起作用。我不知道为什么它没有触发。
这是我的代码(删除了一些部分):
app.js
var express = require('express');
var port = process.env.PORT || 3000;
var socketio = require('socket.io');
var app = express();
var server = require('http').Server(app);
var io = socketio(server);
var beacons = require('./routes/beacons')(io);
app.use('/beacons', beacons);
server.listen(port, () => {
console.log('Listening on port '+port);
});
io.on('connection', (socket) => {
socket.on('beacon:show', function(data) {
console.log('Show beacon: ' + data)
socket.broadcast.emit('beacon:draw', data)
})
});
module.exports = app;
beacons.js
var express = require('express');
var router = express.Router();
module.exports = function(io) {
router.get('/buy', function(req, res) {
io.emit('beacon:show', {data: someData}) // Not Firing
res.json({success: true})
})
return router
}
【问题讨论】:
-
你有什么错误信息吗?