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(8001); io.listen(server); // 開啟 Socket.IO 的 listener var serv_io = io.listen(server); /*serv_io.sockets.on('connection', function(socket) { //socket.emit('message', {'message': 'hello world'}); setInterval(function() { socket.emit('date', {'date': getRandomInt(0,90)}); }, 1000); // 接收來自於瀏覽器的資料 socket.on('client_data', function(data) { process.stdout.write(data.letter); }); });*/ // Load the TCP Library 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); */ }); // 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) } }).listen(5200); function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }