Beispiel #1
0
        public byte[] GetNegotiationResponsePacket(OptionNegotiationType RequestType)
        {
            byte[] ResponsePacket = null;

            switch (RequestType)
            {
            case OptionNegotiationType.WILL:
                if (RespondedWillWont == false)
                {
                    if (_bWILL)
                    {
                        ResponsePacket = TelnetOption.GetNegotiationResponseDo(OptionCode);
                    }
                    else
                    {
                        ResponsePacket = TelnetOption.GetNegotiationResponseDont(OptionCode);
                    }
                    RespondedDoDont = true;
                }
                break;

            case OptionNegotiationType.WONT:
                if (RespondedWillWont == false)
                {
                    _bWILL          = false;
                    ResponsePacket  = TelnetOption.GetNegotiationResponseDont(OptionCode);
                    RespondedDoDont = true;
                }
                break;

            case OptionNegotiationType.DO:
                if (RespondedDoDont == false)
                {
                    if (_bDO)
                    {
                        ResponsePacket = TelnetOption.GetNegotiationResponseWill(OptionCode);
                    }
                    else
                    {
                        ResponsePacket = TelnetOption.GetNegotiationResponseWont(OptionCode);
                    }
                    RespondedWillWont = true;
                }
                break;

            case OptionNegotiationType.DONT:
                if (RespondedDoDont == false)
                {
                    _bDO              = false;
                    ResponsePacket    = TelnetOption.GetNegotiationResponseWont(OptionCode);
                    RespondedWillWont = true;
                }
                break;

            default:
                break;
            }

            return(ResponsePacket);
        }
Beispiel #2
0
        public byte[] GetNegotiationPacket()
        {
            byte[] ResponsePacket = null;

            if (SendDoDont)
            {
                if (_bDO)
                {
                    ResponsePacket = TelnetOption.GetNegotiationResponseDo(OptionCode);
                }
                else
                {
                    ResponsePacket = TelnetOption.GetNegotiationResponseDont(OptionCode);
                }
            }
            else if (SendWillWont)
            {
                if (_bWILL)
                {
                    ResponsePacket = TelnetOption.GetNegotiationResponseWill(OptionCode);
                }
                else
                {
                    ResponsePacket = TelnetOption.GetNegotiationResponseWont(OptionCode);
                }
            }

            return(ResponsePacket);
        }