socket.io的抽象實現:engine.io

jopen 12年前發布 | 72K 次閱讀 engine.io WebSocket 開發

engine.io是一個socket.io的抽象實現,作為socket.io的服務器和瀏覽器之間交換的數據的傳輸層。它不會取代Socket.IO,它只是抽象出固有的復雜性,支持多種瀏覽器,設備和網絡的實時數據交換。Server
(A) Listening on a port

var engine = require('engine.io')
  , server = engine.listen(80)

server.on('connection', function (socket) {
  socket.send('utf 8 string');
});


(B) Intercepting requests for a http.Server

var engine = require('engine.io')
  , http = require('http').createServer().listen(3000)
  , server = engine.attach(http)

server.on('connection', function (socket) {
  socket.on('message', function () { });
  socket.on('close', function () { });
});


(C) Passing in requests

var engine = require('engine.io')
  , server = new engine.Server()

server.on('connection', function (socket) {
  socket.send('hi');
});

// …
httpServer.on('upgrade', function (req, socket, head) {
  server.handleUpgrade(req, socket, head);
});
httpServer.on('request', function (req, res) {
  server.handleRequest(req, res);
});

Client

<script src="/path/to/engine.io.js"></script>
<script>
  var socket = new eio.Socket('ws://localhost/');
  socket.on('open', function () {
    socket.on('message', function (data) { });
    socket.on('close', function () { });
  });
</script>

項目主頁:http://www.baiduhome.net/lib/view/home/1384093598133

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!