2015-03-04 3 views
0

В настоящее время я делаю проект, чтобы автоматически запускать новые серверы динамически, когда текущий сервер перегружен. Я использую node.js для создания сервера. Я также вычислил количество запросов с использованием переменной. Правильно ли эта процедура? Или я должен изменить свой код?Передача номера порта в качестве параметра в node.js

Я использовал функцию, чтобы вызвать сервер с именами аргументов и номером порта, но я получаю сообщение об ошибке в указанном мной номере порта. Ошибка process.nextTick error. Ошибка в номере порта в вызове функции.

Мне нужна правильная процедура для передачи номера порта в качестве аргумента функции.

код

var http = require('http'); 
var fs = require('fs'); 
var file = fs.readFileSync('file.html'); 
var reqno = 1; 

function spawnserver(servername, port) { 
    servername = http.createServer(function (req, res) { 
     res.writeHeader(200, { 
      "Content-Type": "text/html" 
     }); 
     res.end(file); 
    }); 
    servername.listen(port); 
} 
var server = http.createServer(function (req, res) { 
    res.writeHeader(200, { 
     "Content-Type": "text/html" 
    }); 
    res.end(file); 
    reqno++; 
}); 
server.listen(3000); 
if (reqno > 200) { 
    function spawnserver(server2, 9615); 
} 

ошибка

[email protected]:~$ node server.js 

/home/vishnu/server.js:21 function spawnserver(servername,9615); 
           ^^^^ 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^SyntaxError: Unexpected number 
    at Module._compile (module.js:429:25) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:32) 
    at Function._load (module.js:308:12) 
    at Array.0 (module.js:479:10) 
    at EventEmitter._tickCallback (node.js:192:41) 
+1

Базовый JavaScript. Удалите 'функцию' перед вызовом' spawnserver'. –

ответ

0

Функция ключевого слова для определения функции, а не для выполнения одной. В этой строке: function spawnserver(server2, 9615);, удалить function.

0

Вы решили свои проблемы? Если вы спрашиваете, какие способы вы можете пройти в номере порта? Я не знаю ваших требований, например. знаете ли вы номер порта перед рукой? или он также динамически назначен. Сколько новых серверов вы делаете для создания? Только один?

Одним из способов является использование config.json для определения номера порта. Затем ваше приложение может получить номер порта из файла конфигурации.

+0

Я решил вышеупомянутую проблему. Но у меня есть еще одно сомнение в том, как перенаправить запросы среди доступных экземпляров сервера? @Хо-хо-хо –

Смежные вопросы