我有以下简单的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),两个目录都是相同的。 什么可能导致这种行为?我该如何调试?
修改:
当我在同一个目录中执行不起作用的应用程序时,它会运行...再次,权限是相同的。
答案 0 :(得分:0)
我将工作目录的node_modules/socket.io
复制到非工作目录中。它现在有效。
仍然无法弄清楚发生了什么。两个版本都是使用npm install安装的,而npm socket.io版本给了我相同的" 1.1.0"。
我会在这里留下问题,因为它可能对某人有所帮助。奇怪的...