Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpeudp.RdpeudpServerSocket.SendSynAndAckPacket C# (CSharp) Method

SendSynAndAckPacket() public method

Send a SYN and ACK diagram
public SendSynAndAckPacket ( uint initSequenceNumber = null, uUdpVer_Values version = null ) : bool
initSequenceNumber uint Specify an initial sequence number
version uUdpVer_Values
return bool
        public bool SendSynAndAckPacket(uint? initSequenceNumber = null, uUdpVer_Values? version = null)
        {
            if (Connected) return false;
            RdpeudpPacket SynAndAckPacket = new RdpeudpPacket();
            SynAndAckPacket.fecHeader.snSourceAck = SnSourceAck;
            SynAndAckPacket.fecHeader.uReceiveWindowSize = UReceiveWindowSize;
            SynAndAckPacket.fecHeader.uFlags = RDPUDP_FLAG.RDPUDP_FLAG_SYN | RDPUDP_FLAG.RDPUDP_FLAG_ACK;
            if(version != null)
            {
                SynAndAckPacket.fecHeader.uFlags |= RDPUDP_FLAG.RDPUDP_FLAG_SYNEX;
                SynAndAckPacket.SynDataEx = CreateSynExData((uUdpVer_Values)version);
            }
            SynAndAckPacket.SynData = CreateSynData(initSequenceNumber);
            SendPacket(SynAndAckPacket);
            // Set the OutSnAckOfAcksSeqNum value, number from which the receive thread decoding the state of the send packet.
            OutSnAckOfAcksSeqNum = SynAndAckPacket.SynData.Value.snInitialSequenceNumber + 1;
            return true;
        }