コード例 #1
0
        /// <summary>
        /// Sends a new playerlist to all clients.
        /// </summary>
        private void BroadcastPlayerListUpdate()
        {
            var playerList = new List <IPEndPoint>();

            playerList.AddRange(server.Connections.Select(connection => connection.RemoteEndPoint));
            var playerListPacket = new PlayerListPacket(playerList);

            BroadcastPacket(playerListPacket);
        }
コード例 #2
0
        /// <summary>
        /// Converts a message into a PlayerListPacket.
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        private static Packet ToPlayerListPacket(NetIncomingMessage message)
        {
            int listSize   = message.ReadInt32();
            var playerList = new List <IPEndPoint>();

            for (int i = 0; i < listSize; i++)
            {
                playerList.Add(message.ReadIPEndPoint());
            }
            var playerListPacket = new PlayerListPacket(playerList)
            {
                Sender = message.SenderEndPoint
            };

            return(playerListPacket);
        }