Socket.IO – 基於 WebSocket 構建跨瀏覽器的實時應用


   Socket.IO 是一個功能非常強大的框架,能夠幫助你構建基於 WebSocket 的跨瀏覽器的實時應用。支持主流瀏覽器,多種平台,多種傳輸模式,還可以集合 Exppress 框架構建各種功能復雜的實時應用。

您可能感興趣的相關文章

 

 

使用示例

1、使用 Node HTTP 服務器

服務端示例代碼:

var app = require('http').createServer(handler)
  , io = require('socket.io').listen(app)
  , 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.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

客戶端示例代碼:

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

2、使用 Express 3 框架

服務端示例代碼:

var app = require('express')()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server);

server.listen(80);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

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

客戶端示例代碼:

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

支持的傳輸

為了給各個不同的瀏覽器提供實時連接,Socket.IO 選擇在運行時會自動最有能力的運輸模式,不影響 API 的使用。

  • WebSocket
  • Adobe Flash Socket
  • AJAX 長輪詢
  • AJAX 多重流
  • iframe
  • JSONP 輪詢

支持的瀏覽器

桌面端

  • Internet Explorer 5.5+
  • Safari 3+
  • Google Chrome 4+
  • Firefox 3+
  • Opera 10.61+

移動端

  • iPhone Safari
  • iPad Safari
  • Android WebKit
  • WebOs WebKit

 

立即下載   官方主頁

 

本文鏈接:Socket.IO – 構建基於 WebSocket 的實時應用

編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM