什麼是websocket?
1.基於TCP的雙向的、全雙工的數據連接
雙向的:客戶端、服務器端
全雙工:數據的發送與接收,兩者同步進行
1.建立socket應用?
服務器必須支持web socket.
Nodejs
安裝:
npm install socket.io
實踐
//引入
var io = require( 'socket.io' );
var socket = io.listen( httpServer );
socket.sockets.on( 'connection', function(socket){
console.log(' 連接了web socket ');
} );
服務端和客戶端通信:
服務端:
socket.emit( 'hello',' 歡迎 ' ); //事件發送器
客戶端再監聽這個事件:
socket.on( 'hello',function(data){
alert(data);
//2.當然,客戶端也可以和服務端通信,如下:
this.emit( 'hellotoo','歡迎歡迎' );
} );
2.後,服務端也要監聽事件:
socket.on( 'hellotoo',function(data){
console.log(data);
} );
廣播:socket.broadcast.emit( 'a' ); //除了當前用戶,給其他所有用戶都推送
如:給你發送了“歡迎”,給其他用戶發送“有新人進來了”(聊天室原理)