首页 > Web开发 > 详细

nodeJS+socket.io传递消息

时间:2019-05-08 17:58:47      阅读:159      评论:0      收藏:0      [点我收藏+]
服务器端

安装express,socket.io

npm install express --save-dev
npm install socket.io --save

app.js

const express = require('express');
const app = express();
var server = require('http').createServer(app).listen(8083);
var io = require('socket.io')(server);

io.on('connection', function(socket) {   
    
    // 想客户端传递消息
    socket.emit('news',{hello:'hello'}) 
    
    // 接收并处理客户端的hi事件
    socket.on('start', function(data) {
        // ....
    })
    // 断开事件
    socket.on('disconnect', function(data) {
        console.log('断开通话');
        //socket.emit('c_leave','离开');
        //socket.broadcast用于向整个网络广播(除自己之外)
        //socket.broadcast.emit('c_leave','某某人离开了')
    })
    
});

客户端

安装socket.io。

注意:这里不能npm install socket.io。这个是服务器端的插件应用。不是客户端。

直接在index.html中引入socke.io。

这样就可以用io这个变量了

<script src="https://cdn.bootcss.com/socket.io/2.2.0/socket.io.dev.js"></script>
$('#submit').click(function(){
    var socket = io.connect('http://localhost:8080');     
    socket.on('news', function (data) {    
        alert(data.hello);
    });
    socket.emit('start',1)  

    // 可以用close()断开连接。服务器端disconnect会监听到
    socket.close();
})

相关文档api

https://github.com/socketio/socket.io-client/blob/master/docs/API.md

nodeJS+socket.io传递消息

原文:https://www.cnblogs.com/hibiscus-ben/p/10832759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!