-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathblogode.js
79 lines (65 loc) · 2.13 KB
/
blogode.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/node
var server = require("./servers/server.js");
var clusterServer = require("./servers/cluster_server.js");
var args = new Array();
for(var i = 0; i < process.argv.length; i++) {
if(process.argv[i].indexOf("/") < 0 && process.argv[i].indexOf("node") < 0) {
args.push(process.argv[i]);
}
}
if(args[0] == "server") {
var port = 3000;
var clusterArg = 1;
if(!isNaN(parseInt(args[1])) && parseInt(args[1]) > 0) {
port = parseInt(args[1]);
clusterArg = 2;
}
var clusterAddress = "";
var clusterPort = 0;
if(args[clusterArg] == "cluster") {
var addr = args[clusterArg+1]
if(addr != undefined) {
if(addr.indexOf(":") >= 0) {
var separator = addr.split(":");
if(isNaN(parseInt(separator[1]))) {
console.log('Invalid cluster port.')
} else {
clusterAddress = separator[0];
clusterPort = parseInt(separator[1]);
}
} else {
clusterAddress = addr;
clusterPort = 6108; // default port
}
} else {
console.log("Invalid cluster server address")
process.exit(-1);
}
}
var socketPort = 6108;
if(!isNaN(parseInt(args[clusterArg+2]))) {
socketPort = parseInt(args[clusterArg+2]);
} else {
if(args[clusterArg+2]) {
console.log('Invalid cluster server socket port.')
process.exit(-1);
}
}
// exports.startServer = function(serverPort, clusterServerIp, clusterServerPort, clusterSocketPort) {
server.startServer(port, clusterAddress, clusterPort, socketPort);
} else if(args[0] == "cluster") {
var port = 8080;
if(!isNaN(parseInt(args[1])) && parseInt(args[1]) > 0) {
port = parseInt(args[1]);
} else if(args[1] != undefined) {
console.log("Invalid port.");
process.exit();
}
clusterServer.startClusterServer(port);
} else if(args[0] == undefined) {
console.log("Missing arguments.");
process.exit();
} else {
console.log("Invalid argument.");
process.exit();
}