什么是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' ); //除了当前用户,给其他所有用户都推送
如:给你发送了“欢迎”,给其他用户发送“有新人进来了”(聊天室原理)