O2O--E家政服务 互动版

封装模块

我们把socket.js封装成一个模块,将在该模块中定义一些我们要存储数据的变量。如下代码:

var Cookie= require('express/node_modules/cookie'); //使用cookie
module.exports = function(app){
 var io = require('socket.io')(app);
    var sockets = {};       //存储用户的socket
    var socketShops={};     //存储商家的socket
    var socketShopsName={}; //存储所有商家的名字
    var socketsTel={};      //存储所有用户电话
    var socketShopsService={}; //存储商家的服务

}

在该模块中添加客户端的验证与连接,完成后的代码结构为:

module.exports = function(app){
    //定义相关变量
    io.use(function(socket,next){
        //登录验证
    });
    io.on('connection', function (socket) {
        // 连接成功后,逻辑处理
        socket.on('message',function(socket){
          // 收到消息
        });
        socket.on('disconnect',function(){
          //断开连接
        });
    });
}