Nodejs-socket.io

2017-08-04  本文已影响132人  07120665a058

socket.io 是一个为实时应用提供跨平台实时通信的库

安装

npm install socket.io

客户端

<script src="/socket.io/socket.io.js"></script>   
//客户端引入socket.io
const socket = io.connect('http://localhost');
//与 http://localhost 本地服务器建立连接并赋值给 socket 对象
socket.emit('say', { my: 'data' }); 
socket.on('news', function (data) { console.log(data);})

服务器

const app = require('express')() , 
const http = require('http').createServer(app);
const io = require('socket.io').listen(http);
//将 socket.io 绑定到服务器上,于是任何连接到该服务器的客户端都具备了实时通信功能

io.on('connection', (socket) => {
    console.log('a user connected');
    socket.on('disconnect', ()=> {
        console.log('user disconnected');
    });
    socket.on('say', function (data) { 
        console.log(data);
        socket.emit('news',data);
    });
});

通过socket.io的核心函数emiton就实现服务器与客户端之间的双向通信

socket.io 提供了三种默认的事件(客户端和服务器都有)

此外,socket.io 还支持自定义事件

服务器端接收的三种情况

demo地址

上一篇 下一篇

猜你喜欢

热点阅读