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 '/earthquake.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(10200); io.listen(server); // 開啟 Socket.IO 的 listener var serv_io = io.listen(server); 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); socket.on('data', function (data) { broadcast(data, socket); var aa = data.toString('utf8'); if(aa != '0 -1,'){ serv_io.emit('date', {'date': aa}); } }); socket.on('close', function() { var i = clients.indexOf(socket); delete clients[i]; }); }).listen(6000); function readTextFile() { fs.readFile('a.txt', 'utf8', function(err, data) { if (err) throw err; return data.toString(); }); } // 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) }