简单聊天室socket.io实现

一、安装

首先我们需要安装socket.io,本文将介绍使用node作为服务器实现消息推送。惯例借助npm先安装express与socket.io

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

二、程序编写

安装完之后我们变可在项目的启动文件中编写服务端代码:

server.js
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(80'ip',function(){
    console.log('server start')
});

io.on('connection', function (socket) {//客户端连接监听
  socket.emit('news', { hello: 'world' });//客户端连接时发送news事件
  socket.on('online', function (data) {//监听客户端连接online事件
      console.log(data)
    socket.broadcast.emit('online',data);//向客户端广播online事件
  });

    socket.on('postMsg',function(data){//服务端监听客户端的postMsg事件
        console.log(data);
        socket.broadcast.emit('receiveMsg',data);//向客户端推送消息
    })
});

服务端代码编写完毕,接着编写客户端代码:

Client (index.html)
<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://ip:port');//页面初始化时向服务器发起连接
  socket.on('news', function (data) {//客户端news事件监听
    console.log(data);
    socket.emit('online', { my: 'data' });//连接成功时发送online事件
  });
  socket.on('receiveMsg',(data) =>{//客户端消息接收事件监听
                console.log(data)
            })
</script>

至此一个简单的消息推送代码便编写完成了,我们只需要在git bash中到我们的项目中键入命令node server.js 便可以启动服务了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值