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

2019-12-30 11:19:21于海丽
  • public int readedCount { get; set; }  public string type { get; set; } 
  • }   
  • private static List<Msg> msgs = new List<Msg>();  private static ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim(); 
  • private static object syncObject = new object(),syncObject1 = new object();  private static List<string> onLineNames = new List<string>(); 
  •   public void ProcessRequest(HttpContext context) 
  • {  string chatName = context.Request.Form["name"]; 
  • string msg = context.Request.Form["msg"];  string actionName = context.Request.Form["action"]; 
  • JavaScriptSerializer jsSerializer = new JavaScriptSerializer();   
  • object responseObject = null;   
  • switch (actionName)  { 
  • case "receive":  { 
  • responseObject = GetNewMessages(chatName);  break; 
  • }  case "send": 
  • {  responseObject = SendMessage(chatName, msg, "normal"); 
  • break;  } 
  • case "on":  case "off": 
  • {  responseObject = SetChatStatus(chatName, actionName); 
  • break;  } 
  • case "onlines":  { 
  • responseObject = onLineNames;  break; 
  • }  } 
  •   context.Response.ContentType = "text/json"; 
  • context.Response.Write(jsSerializer.Serialize(responseObject));   
  • }   
  • private object SetChatStatus(string chatName, string status)  { 
  • if (status == "on")  { 
  • if (onLineNames.Exists(s => s == chatName))  { 
  • return new { success = false, info = "该聊天妮称已经存在,请更换一个名称吧!" };  } 
  • lock (syncObject1)  {