static void send(int index, string msg) { List <int> removeList = new List <int>(); for (int i = 0; i < clientlist.Count; i++) { if (i != index) { try { websocket.SendString(clientlist[i].sClient, msg); //Console.WriteLine(userinfo); } catch { Console.WriteLine("Sending failed, removing " + clientlist[i].Name + " at " + clientlist[i].RemoteEndpoint); removeList.Add(i); } } } //Removing for (int i = 0; i < removeList.Count; i++) { clientlist.RemoveAt(i); } for (int i = 0; i < removeList.Count; i++) { if (clientlist[i].Authed) { send(i, clientlist[i].Name + " has timed out."); } } }
static void sendData() { List <int> removeList = new List <int>(); for (int i = 0; i < clientlist.Count; i++) { for (int j = 0; j < clientlist.Count; j++) { if (i != j) { try { string userinfo = "i=" + clientlist[j].RemoteEndpoint.Split(':')[1] + " n=" + clientlist[j].Name + " x=" + clientlist[j].X + " y=" + clientlist[j].Y + " p=" + clientlist[j].Pressing + " r=" + clientlist[j].Reset; websocket.SendString(clientlist[i].sClient, userinfo); } catch { //Console.WriteLine("Sending failed, removing " + clientlist[i].Name + " at " + clientlist[i].RemoteEndpoint); clientlist.RemoveAt(i); } } } } }