예제 #1
0
        protected override async Task OnClientDataReceived(IPeerProxy client, byte[] data)
        {
            Stream           stream       = new MemoryStream(data);
            PeerPacketHeader packetHeader = stream.DeserializePeerPacketHeader();

            switch ((PacketType)packetHeader.Type)
            {
            case PacketType.System:
            {
                HandleSystemPacket(client, stream);
            }
            break;

            case PacketType.Post:
            {
                HandlePostPacket(client, stream);
            }
            break;

            case PacketType.Vote:
            {
                HandleVotePacket(stream);
            }
            break;
            }
        }
예제 #2
0
        protected override async Task OnClientDataReceived(IPeerProxy client, byte[] data, int bytesRead)
        {
            PeerPacketHeader packetHeader = data.DeserializePeerPacketHeader();

            switch ((MessageType)packetHeader.Type)
            {
            case MessageType.SYSTEM:
            {
            }
            break;

            case MessageType.MSG:
            {
            }
            break;

            case MessageType.VOTE:
            {
                PeerPacket <Vote> votePacket = data.DeserializePeerPacket <Vote>();
                Vote vote = votePacket.Payload;
                switch (vote.Ogranization)
                {
                case OrganizationType.Union:
                    break;

                case OrganizationType.Company:
                    break;

                case OrganizationType.Village:
                    break;

                case OrganizationType.City:
                    break;

                case OrganizationType.Government:
                    break;

                case OrganizationType.Country:
                    break;

                case OrganizationType.Anonymous:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            break;
            }
        }