socket-express

安装

npm add socket.io express
  • socket.emit 表示触发某个事件,如果需要给浏览器发送数据,需要触发浏览器注册的某个事件
  • socket.on 表示注册某个事件,
  • 如果需要获取浏览器的数据,需要注册一个事件等待浏览器触发 io.socket: 广播事件 io.emit

服务端

服务器给浏览器发送数据,只要触发浏览器监听的事件即可

var app = require('express')()
var server = require('http').Server(app)
var io = require('socket.io')(server)
// 启动服务
server.listen(3000, () => {
    console.log('启动服务成功')
})
// express处理静态资源
// public设置为静态资源目录
app.use('/public', require('express').static('./public'));
app.get('/', function (req, res) {
    res.sendFile(__dirname + '/index.html')
})

io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' })
    socket.on('login', data => {
        console.log(data)
    })
})

客户端

浏览器给服务器发送数据,浏览器触发服务器监听的事件

<script src="/socket.io/socket.io.js"></script>
<script>
        var socket = io('http://localhost:3000');
        socket.on('news', function (data) {
            console.log(data);
            // socket.emit('my other event', {
            //     my: 'data'
            // });
        });
</script>

页面展示

登录页面
聊天页面

基于socket的微信聊天室git 地址

基于socket的微信聊天室git 地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值