用node.js寫的程式碼

魔豆發表於2017-01-08

下面的程式碼摘抄於官方網站,我在本地跑了一下,並且把自己的理解簡單的做了記錄

 

服務端 app.js

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

app.listen(80);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

socket.emit是指,在客戶端連線時,給客戶端傳送news事件,並且傳遞對應的資料給客戶端

socket.on是指,編寫對應的my other event事件,供客戶端呼叫

這類似於webservice裡的客戶端、服務端。socket.emit相當於客戶端,socket.on相當於服務端

 

客戶端 index.html

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

 

相關文章