javascript - Node.JS 仅适用于本地主机?

标签 javascript node.js

var app = require('http').createServer(handler);
var Rcon = require('rcon');
var url  = require('url');

app.listen(7777);
console.log('Server started.');
function handler (req, res) {
    console.log('New connection!');
    res.writeHead(200);
    var urlParts = url.parse(req.url, true);
    var server = urlParts.query;
    var conn = new Rcon(server.ip, server.port, server.password);
    conn.on('auth', function() {
        conn.send(server.command);
        console.log('Sent command!');
    }).on('response', function(data) {
        res.end(data);
        console.log('Response: '+data);
    }).on('error', function(data) {
        res.end('error');
        console.log('Error: '+data);
    }).on('err', function(data) {
        res.end('error');
        console.log('Error: '+data);
    });
    conn.connect();
}

所有这些都在本地主机上完美运行,但是当我上传到远程服务器并运行它时,它在浏览器中响应错误并在控制台中显示此错误:

Server started. New connection! Error: TypeError: Object 0�P�q has no
method 'writeInt32LE' New connection! Error: Error: EINVAL, Invalid
argument

最佳答案

第一个猜测:rcon 模块包含已编译的扩展,您将 node_modules/rcon 文件检查到 git 中,然后尝试在不同的 CPU 架构上运行它们。您需要在远程服务器上运行 npm rebuild 进行快速修复,并将 node_modules 文件夹从 git 存储库中移出,作为正确的长期修复。

关于javascript - Node.JS 仅适用于本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822910/

相关文章:

node.js - ionic CLI : all commands giving error undefined:1 SyntaxError: Unexpected token

mysql - 如何在sequelize中生成具有多个or条件的查询

node.js - 如何在 npm 脚本中获取包版本和日期?

javascript - q-io : how to read response. 使用 Promises 的主体 JSON 对象?

javascript - 从 Typescript/Javascript 中的平面数组构建树数组(3 维)

JavaScript 框架 IE6 兼容性

javascript - 如何拆分 JS 参数并忽略\'

javascript - Django - simplejson 响应

javascript - 循环访问站点上的链接并单击链接 javascript/jquery

javascript - request.js 中的永久代理 - 如何检查它是否正常工作