コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }