var http = require("http"); var url = require('url'); var fs = require('fs'); var io = require('socket.io'); // 加入 Socket.IO var server = http.createServer(function(request, response) { console.log('Connection'); var path = url.parse(request.url).pathname; switch (path) { case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello, World.'); response.end(); break; case '/socket.html': fs.readFile(__dirname + path, function(error, data) { if (error){ response.writeHead(404); response.write("opps this doesn't exist - 404"); } else { response.writeHead(200, {"Content-Type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writeHead(404); response.write("opps this doesn't exist - 404"); response.end(); break; } }); server.listen(8000); io.listen(server); // 開啟 Socket.IO 的 listener /*-----------------------------------------------------------------*/ var server1 = http.createServer(function(request, response) { console.log('Connection'); var path = url.parse(request.url).pathname; switch (path) { case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello, World.'); response.end(); break; case '/socket1.html': fs.readFile(__dirname + path, function(error, data) { if (error){ response.writeHead(404); response.write("opps this doesn't exist - 404"); } else { response.writeHead(200, {"Content-Type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writeHead(404); response.write("opps this doesn't exist - 404"); response.end(); break; } }); server1.listen(8002); io.listen(server1); // 開啟 Socket.IO 的 listener /*-----------------------------------------------------------------*/ var server2 = http.createServer(function(request, response) { console.log('Connection'); var path = url.parse(request.url).pathname; switch (path) { case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello, World.'); response.end(); break; case '/socket2.html': fs.readFile(__dirname + path, function(error, data) { if (error){ response.writeHead(404); response.write("opps this doesn't exist - 404"); } else { response.writeHead(200, {"Content-Type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writeHead(404); response.write("opps this doesn't exist - 404"); response.end(); break; } }); server2.listen(8004); io.listen(server2); // 開啟 Socket.IO 的 listener /*-----------------------------------------------------------------*/ var server3 = http.createServer(function(request, response) { console.log('Connection'); var path = url.parse(request.url).pathname; switch (path) { case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello, World.'); response.end(); break; case '/socket3.html': fs.readFile(__dirname + path, function(error, data) { if (error){ response.writeHead(404); response.write(" "); } else { response.writeHead(200, {"Content-Type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writeHead(404); response.write(" "); response.end(); break; } }); server3.listen(8006); io.listen(server3); // 開啟 Socket.IO 的 listener /***************************************************************/ var server4 = http.createServer(function(request, response) { console.log('Connection'); var path = url.parse(request.url).pathname; switch (path) { case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello, World.'); response.end(); break; case '/socket4.html': fs.readFile(__dirname + path, function(error, data) { if (error){ response.writeHead(404); response.write(" "); } else { response.writeHead(200, {"Content-Type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writeHead(404); response.write(" "); response.end(); break; } }); server4.listen(8008); io.listen(server4); // 開啟 Socket.IO 的 listener var serv_io = io.listen(server); var serv_io1 = io.listen(server1); var serv_io2 = io.listen(server2); var serv_io3 = io.listen(server3); var serv_io4 = io.listen(server4); net = require('net'); // Keep track of the chat clients var clients = []; // Start a TCP Server net.createServer(function (socket) { // Put this new client in the list clients.push(socket); // Handle incoming messages from clients. socket.on('data', function (data) { broadcast(data, socket); serv_io.emit('date', {'date': data.toString('utf8') }); /* setInterval(function() { serv_io.emit('date', {'date': data.toString('utf8') }); }, 1000); */ }); }).listen(5000); net1 = require('net'); // Keep track of the chat clients var clients1 = []; // Start a TCP Server net1.createServer(function (socket) { // Put this new client in the list clients1.push(socket); // Handle incoming messages from clients. socket.on('data', function (data) { broadcast(data, socket); serv_io1.emit('date', {'date': data.toString('utf8') }); }); }).listen(5200); net2 = require('net'); // Keep track of the chat clients var clients2 = []; // Start a TCP Server net2.createServer(function (socket) { // Put this new client in the list clients2.push(socket); // Handle incoming messages from clients. socket.on('data', function (data) { broadcast(data, socket); serv_io2.emit('date', {'date': data.toString('utf8') }); }); }).listen(5400); net3 = require('net'); // Keep track of the chat clients var clients3 = []; // Start a TCP Server net3.createServer(function (socket) { // Put this new client in the list clients3.push(socket); // Handle incoming messages from clients. socket.on('data', function (data) { broadcast(data, socket); serv_io3.emit('date', {'date': data.toString('utf8') }); }); }).listen(5600); net4 = require('net'); // Keep track of the chat clients var clients4 = []; // Start a TCP Server net4.createServer(function (socket) { // Put this new client in the list clients4.push(socket); // Handle incoming messages from clients. socket.on('data', function (data) { broadcast(data, socket); serv_io4.emit('date', {'date': data.toString('utf8') }); }); }).listen(5800); // Send a message to all clients function broadcast(message, sender) { clients.forEach(function (client) { // Don't want to send it to sender if (client === sender) return; client.write(message); }); // Log it to the server output too process.stdout.write(message) }