我有一个节点应用程序应该通过HTTP GET请求/api/users?data=68
从另一个应用程序接收请求并实时显示数据。我有处理传入HTTP请求的api / users路由。首先,我有与socket.io一起使用的节点应用程序但是现在我想处理Http请求。这是我的代码
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var port = process.env.PORT || 8080
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
var router = express.Router();
router.get('/api/users', function(req, res) {
var query = req.param('data');
io.emit("chat message","some msg");
});
io.on('connection', function(socket){
console.log('client connected');
socket.on('pass data from HTTP request to the view', function(data){
console.log(data);
});
});
app.use(router);
server.listen(port)
Client.js
var socket = io();
socket.on('chat message', function (message) {
//socket.emit('chat message', { my: 'world' });
console.log('received ');
});
如何将数据从/ api / users / route传递到套接字连接?谢谢你。
答案 0 :(得分:1)
如果要将数据发送到所有socket.io连接的客户端,您可以执行以下操作:
io.emit("someMsg", someData);
如果你只想发送一个特定的socket.io连接,那么你需要能够通过socket.id获取你可以做的特定套接字,或者你可以通过其他方式跟踪哪个套接字是哪个