コード例 #1
0
ファイル: ServerStage.cs プロジェクト: travakin/PRNet
        public static void ParseNetworkMessages(Packet packet, NetworkConnection clientConnection)
        {
            PacketNetworkMessage messagePacket = (PacketNetworkMessage)packet;

            foreach (var message in messagePacket.networkMessages)
            {
                message.senderConnection = clientConnection;
                objectsManager.pendingMessagesInbound.Push(message);
            }
        }
コード例 #2
0
        public static void ParseNetworkMessages(Packet packet)
        {
            if (!ready)
            {
                return;
            }

            PacketNetworkMessage messagePacket = (PacketNetworkMessage)packet;

            foreach (var message in messagePacket.networkMessages)
            {
                objectsManager.pendingMessagesInbound.Push(message);
            }
        }
コード例 #3
0
        private void SendTargeted(List <NetworkMessage> msgList, NetworkConnection conn, bool useHighPriority)
        {
            if (msgList.Count < 1)
            {
                return;
            }

            int numberOfPackets = msgList.Count / MAX_NETWORK_MESSAGES_PER_PACKET + 1;

            for (int i = 0; i < numberOfPackets; i++)
            {
                PacketNetworkMessage msgPacket;

                if (useHighPriority)
                {
                    msgPacket = new PacketNetworkMessage(Packet.PRIORITY_HIGH);
                }
                else
                {
                    msgPacket = new PacketNetworkMessage(Packet.PRIORITY_LOW);
                }

                int messageCount = (msgList.Count < MAX_NETWORK_MESSAGES_PER_PACKET) ? msgList.Count : MAX_NETWORK_MESSAGES_PER_PACKET;

                List <NetworkMessage> toSend = msgList.GetRange(0, messageCount);
                msgList.RemoveRange(0, messageCount);                //This may f**k things up

                foreach (NetworkMessage msg in toSend)
                {
                    msgPacket.networkMessages.Add(msg);
                }

                if (msgPacket.networkMessages.Count > 0)
                {
                    SendPacket(msgPacket, conn);
                }
            }
        }