IM 即时聊天-服务端代码 Nodejs

/*============自定义对象===========*/

/* 
*  方法:Array.remove(dx) 通过遍历,重构数组 
*  功能:删除数组元素. 
*  参数:dx删除元素的下标. 
*/ 
Array.prototype.remove=function(dx) 

    if(isNaN(dx)||dx>this.length){return false;} 
    for(var i=0,n=0;i<this.length;i++) 
    { 
        if(this[i]!=this[dx]) 
        { 
            this[n++]=this[i] 
        } 
    } 
    this.length-=1 

/*寻找元素在数组中的位置*/
Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == obj) {
            return i;
        }
    }
    return -1;
}

//生成GUID,加上时间
function newGuid()
{
    var guid = "";
    for (var i = 1; i <= 32; i++){
      var n = Math.floor(Math.random()*16.0).toString(16);
      guid +=   n;
      if((i==8)||(i==12)||(i==16)||(i==20))
        guid += "-";
    }
    guid+="_"+new Date().getTime();
    return guid;    
}

//声明消息对象
function SfjWsMsg(key,value){
    this.key=key;
    this.value=value;
    this.loginguid=null; //当前登录标识
    this.identifyid=null;//每条消息唯一标识
    this.state=null;//消息状态
}

/*============缓存管理===========*/
function HisMsgCache(){
    this.msgcache=new Array();
    
    //添加消息到缓存,
    //hidelog notnull-不显示 null-显示(默认值)
    this.addMsgToCache = function(userId,msg,hidelog){
        if (!this.msgcache[userId]){
            this.msgcache[userId]=new Array();            
        }
        var msglist=this.msgcache[userId];
        if (!hidelog){
            console.log('User['+userId+'] addMsgToCache:'+msg);
        }
        msglist.push(msg);        
    }
    //移除消息从缓存中
    this.delMsgFromCache=function(userId,msg){
        var msglist=this.msgcache[use

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SF引流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值