Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从node.js中的SRCDS接收日志_Node.js_Api - Fatal编程技术网

如何从node.js中的SRCDS接收日志

如何从node.js中的SRCDS接收日志,node.js,api,Node.js,Api,我有srcds(源专用服务器) 在控制台添加logaddress\u添加0.0.0.0:25001 这将打开将日志发送到远程服务器的功能 试图用这种方法抓住日志 var net = require('net'); var server = net.createServer(function(c) { c.on('end', function() { console.log('server disconnected'); }); c.pipe(c); })

我有srcds(源专用服务器)

在控制台添加
logaddress\u添加0.0.0.0:25001

这将打开将日志发送到远程服务器的功能

试图用这种方法抓住日志

var net = require('net');
var server = net.createServer(function(c) { 
    c.on('end', function() {
        console.log('server disconnected');
    });
    c.pipe(c);
});
server.listen(25001);

var net = require('net');
var client = net.connect({port: 25001});

client.on('data', function(data) {
    console.log(data.toString());
    client.end();
});
client.on('end', function() {
    console.log('client disconnected');
});
var s = dgram.createSocket('udp4');
s.bind(25001, function(data) {
    console.log(data)
});

var net = require('net');
var client = net.connect({port: 25001});

client.on('data', function(data) {
    console.log(data.toString());
    client.end();
});
client.on('end', function() {
    console.log('client disconnected');
});
var s = dgram.createSocket('udp4');
s.bind(25001, function(data) {
    console.log(data)
});
没有结果。有人能帮忙吗

提前感谢

[已解决]

在SRCDS服务器上

logaddress_add 0.0.0.0:8006 //for local ip
在app.js上

var dgram = require('dgram'),
    server = dgram.createSocket('udp4');

server.on('message', function (message, rinfo) {
var msg = message.toString('ascii').slice(5,-1);    
console.log(msg);
    });
server.on('listening', function () {
    var address = server.address();
    console.log('UDP Server listening ' + address.address + ':' + address.port);
});

server.bind(8006);  
[已解决]

在SRCDS服务器上

logaddress_add 0.0.0.0:8006 //for local ip
在app.js上

var dgram = require('dgram'),
    server = dgram.createSocket('udp4');

server.on('message', function (message, rinfo) {
var msg = message.toString('ascii').slice(5,-1);    
console.log(msg);
    });
server.on('listening', function () {
    var address = server.address();
    console.log('UDP Server listening ' + address.address + ':' + address.port);
});

server.bind(8006);  

最后,我编写了一个小库来执行此操作(),它验证数据包格式,提取日期,并允许您使用sv_logsecret函数对连接进行少量身份验证,因为UDP数据包很容易伪造


我还编写了将这些日志行转换为有用的对象。

我最后编写了一个小库来实现这一点(),它验证数据包格式,提取日期,并允许您使用sv_logsecret函数对连接进行少量身份验证,因为UDP数据包很容易伪造


我还写了一封信,将这些日志行转换成有用的对象。

我正在使用您上面的库,并获得以下日志:获得了一些完全不可解析的gargbase:{isValid:false,packetType:83,invalidReason:4}。我在哪里可以找到invalidReason代码的原因短语?我正在使用上述库并获得以下日志:获得一些完全不可解析的gargbase:{isValid:false,packetType:83,invalidReason:4}。我在哪里可以找到invalidReason代码的原因短语?感谢您的解决方案bro。。。。。就像是解决方案的魔爪兄弟。。。。。工作得很有魅力