我是一个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);
答案 0 :(得分:0)
在经过2天的挣扎和误解之后,我找到了一个工作解决方案,要求提供以下内容并更新代码以使其正常工作:https://github.com/fassn/csgoWebPanel