Ejemplo n.º 1
0
 private void PushRecvBuff(TCP tcp)
 {
     //Log_Error("Fake TCP Packet Pushed");
     _recvBuff.Enqueue(tcp);
 }
Ejemplo n.º 2
0
        //CheckNumbers
        //PerformCloseByPS2
        //PerformCloseByRemote
        private TCP CreateBasePacket(byte[] data = null)
        {
            Log_Verb("Creating Base Packet");
            if (data == null) { data = new byte[0]; }
            TCP ret = new TCP(data);

            //and now to setup THE ENTIRE THING
            ret.SourcePort = destPort;
            ret.DestinationPort = srcPort;

            ret.SequenceNumber = GetMyNumber();
            Log_Verb("With MySeq: " + ret.SequenceNumber);
            ret.AcknowledgementNumber = expectedSeqNumber;
            Log_Verb("With MyAck: " + ret.AcknowledgementNumber);

            //ret.WindowSize = 16 * 1024;
            ret.WindowSize = (UInt16)(2 * maxSegmentSize); //default 2920B (2.85KB)

            if (sendTimeStamps)
            {
                ret.Options.Add(new TCPopNOP());
                ret.Options.Add(new TCPopNOP());
                ret.Options.Add(new TCPopTS((UInt32)timeStamp.Elapsed.TotalSeconds, lastRecivedTimeStamp));
            }
            return ret;
        }