node js server无法启动

时间:2017-01-26 04:30:21

标签: javascript node.js socket.io

我有一个server.js文件,用于启动节点服务器并执行一些任务。但是当我运行该文件时,服务器无法启动。即使我已经发现它没有给我任何错误的错误。任何帮助都会受到欢迎!

感谢。

下面是我的server.js文件代码块,

var express = require('express');
var app = express();
var request = require('request');
var fs = require('fs');  

//--ssl files for the socket.io
var options = {

key: fs.readFileSync('pre3private.key'),

cert: fs.readFileSync('pre3cert.cert')

};
//--/ssl files for the socket.io 

var https = require('https').Server(options, app);
var io = require('socket.io')(https);
var net = require('net'); 

var check_port = 8081; 

var server = net.createServer();

server.once('error', function(err) {
 console.log(err);
 if (err.code === 'EADDRINUSE') {
  // port is currently in use
  check_port += 1;
  if(check_port === 8050) { check_port = 8000; }
  server.listen(check_port);
 }
});

server.once('listening', function() {
 // close the server if listening doesn't fail
 server.close();

 var port = process.env.PORT || check_port;

 https.listen(port, function(){
  debug('Server started! at port ' + port);
 });                 

});

2 个答案:

答案 0 :(得分:0)

您需要在代码末尾调用server.listen(check_port);尝试第一个端口

答案 1 :(得分:0)

首先,您需要移动'https.listen('部分在“server.once之外”('listen'...),但我认为该代码中还有其他问题。

我建议从https://nodejs.org/api/net.html开始一个干净的示例(或快速),不加更改地运行它,看它是否有效,然后逐步添加更改。