0
私は、HTTP GETリクエスト/api/users?data=68
を介して別のアプリケーションからのリクエストを受信し、リアルタイムでデータを表示する必要のあるノードアプリケーションを持っています。 HTTPリクエスト。私はsocket.ioで動作するノードのアプリを持っている。しかし、今私は、HTTP request.Hereを処理したいと開始するにはノード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/users/routeからソケットへの接続?ありがとうございます。
あなたは 'io.emit(" someMsg "、someData);' inside '/ api/users'ルートを指定するのですか?問題は、 '/ api/users'のデータをソケット接続にどのようにして、リアルタイムで表示するのかということです。 – sparks
@sparks - 申し訳ありませんが、データを送信しようとしているユーザーがわからず、データを送信するときにはわかりません。あなたのサーバは同時にsocket.ioを介して多くのクライアントに接続することができます。また、 '/ api/users'リクエストを発行したクライアントだけにデータを戻したい場合は、APIリクエストからそのデータを返すほうがずっと簡単です。これが、HTTPリクエストのためのものです。 – jfriend00
基本的に '/ api/users'を起動するクライアントは別の外部アプリです。それはデータを供給するだけで、私はリアルタイムでソケット接続を介して誰もが見るためにブラウザにデータを表示したいと思います。 – sparks