예제 #1
0
 void OnClientMessage(WebSocketConnection sender, DataReceivedEventArgs e)
 {
     User user = Users.Single(a => a.Connection == sender);
     if (e.Data.Contains("/nick"))
     {
         string[] tmpArray = e.Data.Split(new char[] { ' ' });
         if (tmpArray.Length > 1)
         {
             string myNewName = tmpArray[1];
             while (Users.Where(a => a.Name == myNewName).Count() != 0)
             {
                 myNewName += "_";
             }
             if (user.Name != null)
                 wss.SendToAll("server: '" + user.Name + "' changed name to '" + myNewName + "'");
             else
                 sender.Send("you are now know as '" + myNewName + "'");
             user.Name = myNewName;
         }
     }
     else
     {
         string name = (user.Name == null) ? unknownName : user.Name;
         wss.SendToAllExceptOne(name + ": " + e.Data, sender);
         sender.Send("me: " + e.Data);
     }
 }