从Node.js服务器检索数据并将其显示在网页上

时间:2017-10-23 23:12:37

标签: socket.io

我是一个node.js菜鸟,我已经坚持了2天。似乎有些基本概念我似乎并没有理解node.js是如何工作的。

我想做什么: 从实时的反恐精英全球攻势游戏中获取信息流并将其显示在网页上。

游戏中的数据发送到localhost:3000。如果我创建一个简单的nodejs服务器并打印数据,它就可以工作。 我如何使用" body"从服务器req到socket.io的变量是从客户端POV消费的吗?

nb:此代码基于Webstorm提供的模板。

var app = require('../app');
var debug = require('debug')('test2:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);
var payload = server.on('request',function (req, res){
    var body = '';
    req
        .on('data', function(data) {
            body += data;
        })
        .on('end', function () {
            console.log('POST payload: ' + body);
            return body
        })
});

/**
 * Setup Socket.io
 */
var io = require('socket.io')(server);
io.on('connection', function(socket){
    console.log('a user connected');
});

io.on('data', function(socket){
  console.log('data incoming:\n');

 // and now What? How do I listen to the datas coming from the game and not from the Express server??
  socket.emit('csgo', payload);
})

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

1 个答案:

答案 0 :(得分:0)

在经过2天的挣扎和误解之后,我找到了一个工作解决方案,要求提供以下内容并更新代码以使其正常工作:https://github.com/fassn/csgoWebPanel