Socket.IO应用程序没有启动,没有输出

时间:2014-09-07 14:15:28

标签: javascript node.js unix ssl socket.io

我有以下简单的socket.io app:

var fs = require('fs');
var db = require("./libs/db.js");

var sslOptions = {
    key: fs.readFileSync('/var/ssl/server.key'),
    cert: fs.readFileSync('/var/ssl/server.crt'),
    ca: fs.readFileSync('/var/ssl/ca.crt'),
    requestCert: true,
    rejectUnauthorized: false
};

var io = require('socket.io').listen(4000,sslOptions);

它会在启动时显示:info: socket.io started。页面example.com:4000输出:Welcome to socket.io,一切都很好。

现在,在另一个目录中,我有:

var fs = require('fs');

var sslOptions = {
    key: fs.readFileSync('/var/ssl/server.key'),
    cert: fs.readFileSync('/var/ssl/server.crt'),
    ca: fs.readFileSync('/var/ssl/ca.crt'),
    requestCert: true,
    rejectUnauthorized: false
};

var io = require('socket.io').listen(2000,sslOptions);

那个代码(完全相同的??)在启动时不输出任何东西......

socket.io版本相同(1.1.0),两个目录都是相同的。 什么可能导致这种行为?我该如何调试?

修改:

当我在同一个目录中执行不起作用的应用程序时,它会运行...再次,权限是相同的。

1 个答案:

答案 0 :(得分:0)

我将工作目录的node_modules/socket.io复制到非工作目录中。它现在有效。

仍然无法弄清楚发生了什么。两个版本都是使用npm install安装的,而npm socket.io版本给了我相同的" 1.1.0"。

我会在这里留下问题,因为它可能对某人有所帮助。奇怪的...