0
我有一個節點應用程序,應該通過HTTP GET請求從另一個應用程序接收請求/api/users?data=68
並實時顯示數據。我有處理傳入的api/users路由HTTP請求。首先我有節點的應用程序,與socket.io工作,但現在我想處理HTTP request.Here是我的代碼在Node js應用程序中使用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 /用戶/路由到套接字連接?謝謝你adavance。
所以你的意思是把'io.emit(「someMsg」,someData);''裏面'/ api/users'路線?因爲問題是我如何獲取'/ api/users'路由中的數據到套接字連接,以便我實時顯示它。 – sparks
@sparks - 對不起,但我不明白你想要發送數據的世衛組織,我不明白你什麼時候發送數據。請記住,您的服務器可以同時通過socket.io連接到許多客戶端。另外,如果您只想將數據發回給發出'/ api/users'請求的客戶端,那麼只需從API請求中返回該數據就簡單多了。這就是HTTP請求的用途。 – jfriend00
因此,基本上,啓動'/ api/users'的客戶端是另一個外部應用程序。它只是提供數據,我希望將數據顯示給瀏覽器,供大家實時查看套接字連接。 – sparks