简单聊天室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 便可以启动服务了。

展开阅读全文

没有更多推荐了,返回首页