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サーバを作成
Sockete.ioは、デフォルトイベント(例えば、connect、message、disconnect)を提供する.また、socket.ioはカスタムイベントの送信と受信を許可しています.
クライアントの接続を監視し、コールバック関数は今回の接続のsocketを伝達します.
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がサポートする通信方式:
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){});