public void UpdatePoints(ServerUser user, ClassToSend msg) { foreach (ServerUser uss in Users) { if (uss.Id == user.Id) { continue; } ClassToSend newMsg = new ClassToSend(msg); newMsg.Type = Type.PointUpdate; newMsg.Points = user.points; newMsg.Id = user.Id; SendMessage(uss, newMsg); } }
public Task SendMessage(ServerUser user, ClassToSend msg) { if (user.ConnectionClosed) { return(new Task(() => { })); } Task t = new Task(new Action(() => { user.s.WaitOne(); try { bf.Serialize(user.Client.GetStream(), msg); } catch (Exception e) { PlayerLeft = true; user.ConnectionClosed = true; Console.WriteLine(e.Message); } user.s.Release(1); })); t.Start(); return(t); }