C#制作简单的多人在线即时交流聊天室

2019-12-30 11:19:21于海丽
  • //{  // m.readednams += chatName + ","; 
  • // m.readedCount++;  //}); 
  • //rwLock.ExitWriteLock();  //return new { success = true, msgs = newMsgs }; 
  • }   
  • /// <summary>  /// 
  • /// </summary>  /// <param name="chatName"></param> 
  • /// <param name="msg"></param>  /// <returns></returns> 
  • private object SendMessage(string chatName, string msg, string type)  { 
  • var newMsg = new Msg() { name = chatName, sendtime = DateTime.Now.ToString("yyyy/MM/dd HH:mm"), content =HttpContext.Current.Server.HtmlEncode(msg), readednams = null, type = type };  //rwLock.EnterWriteLock(); 
  • lock (syncObject)  { 
  • msgs.Add(newMsg);  } 
  • //rwLock.ExitWriteLock();  return new { success = true, msgs = new[] { newMsg } }; 
  • }   
  •    
  • public bool IsReusable  { 
  • get  { 
  • return false;  } 
  • }   
  • 代码也相对简单,实现原理主要是:

    1。聊天消息:循环获取未读的消息,在取出读的消息同时,将其标识为已读,全部已读的消息则删除;--我这里采用了两种方法,第二种方法被注释掉了,大家可以取消注释试试,也是不错的,比第一种更直观,建议使用;