webIM技術の総括を実現します.websocketの実例編

2001 ワード

Sockete.ioは、ブラウザとNode.jsの間でリアルタイム通信を実現するために用いられる.
  • 公式サイト:socket.io/
  • 公式サイトのチャットルームの実例:sockett.io/get-started…
  • Sockete.io中国語紹介:www.cnblogs.com/xiezhengcai…
  • Socket.io简述:blog.cdn.net/yczz/artical…
  • Sockete.io紹介
    Sockett.ioは、JavaScriptによって完全に実現され、Node.jsに基づいて、WebSocketプロトコルをサポートするリアルタイム通信、クロスプラットフォームのオープンソースフレームであり、クライアントのJavaScriptとサーバ端のノード.jsを含む.
    Sockete.ioの設計の目的は、任意のブラウザ、Mobileデバイスをサポートすることです.主流のPCブラウザ(IE、Safari、Chrome、Firefox、Operaなど)、Mobileブラウザ(iphone Safari/ipad Safari/Android WebKit/WebOS WebKitなど)をサポートします.
    しかし、WebSocketプロトコルはHTML 5の新たなプロトコルであり、ブラウザのサポートが不完全であることから、Socket.ioはWebSocketの実現だけではなく、他の通信方式もサポートしていることが分かります.上記ブログで紹介したajaxポーリングとLong Polling   https://blog.csdn.net/PINGER0077/article/details/90270693.ブラウザのサポートレベルによって、どのような方法で通信するかを選択します.
    Sockett.ioがサポートする通信方式:
  • Websocket
  • Adobe Flash Socket
  • AJAX long-polling
  • AJAX multiad streeaming
  • Forever IFrame
  • JSONP polling
  • sockete.ioの使用
    node端はexpressフレームを使用します.
    導入する
    サービス:npm install--save sockete.io
    ブラウザ端:import io from'sockett.io-client'    const socket=io('ws:/local host:9093')
    ioサーバを作成
    let app = require('express')();
    let server = require('http').Server(app);
    let io = require('socket.io')(server);
    app.get('/', function(req, res) {
        res.sendFile(_dirname + '/index.html');
    });
    server.listen(3000, function() {
        console.log('App listenning on port 3000!');
    ));
    職務に服する
    Sockete.ioは、デフォルトイベント(例えば、connect、message、disconnect)を提供する.また、socket.ioはカスタムイベントの送信と受信を許可しています.
    クライアントの接続を監視し、コールバック関数は今回の接続のsocketを伝達します.
    io.on('connection', function(socket){});
    すべてのクライアントにメッセージを放送します.
    io.socket.emit('string', data);
    io.emit('string', data);
    クライアントから送信されたカスタムイベントを受信します.
    ​io.on('connection', function(socket){});