Пример #1
0
        private void HandleTelnetWontOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnWontOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnWontOptionReceived(this, args);

                // Set the remote option to false and send dont
                if (_RemoteOptions[(Int32)myTelnetSymbol.Option])
                {
                    SendDontOption(myTelnetSymbol.Option);
                    _RemoteOptions[(Int32)myTelnetSymbol.Option] = false;
                }
                // The option is already set to false, so do nothing
                else
                {
                }
            }
        }
Пример #2
0
        private void HandleTelnetOption(TelnetSymbol myTelnetSymbol)
        {
            switch (myTelnetSymbol.Command)
            {
            case TelnetCommands.Will:
                HandleTelnetWillOption(myTelnetSymbol);
                break;

            case TelnetCommands.Wont:
                HandleTelnetWontOption(myTelnetSymbol);
                break;

            case TelnetCommands.Do:
                HandleTelnetDoOption(myTelnetSymbol);
                break;

            case TelnetCommands.Dont:
                HandleTelnetDontOption(myTelnetSymbol);
                break;
            }
        }
Пример #3
0
        private void HandleTelnetWillOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnWillOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnWillOptionReceived(this, args);

                // If the remote option changed than set this option and send a Do or Dont depending on accepted
                if (args.Accepted != _RemoteOptions[(Int32)myTelnetSymbol.Option])
                {
                    _RemoteOptions[(Int32)myTelnetSymbol.Option] = args.Accepted;
                    if (args.Accepted)
                    {
                        SendDoOption(myTelnetSymbol.Option);
                    }
                    else
                    {
                        SendDontOption(myTelnetSymbol.Option);
                    }
                }
            }
        }
Пример #4
0
        private void HandleTelnetDoOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnDoOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnDoOptionReceived(this, args);

                if (args.Accepted)
                {
                    // only if we did not set this option already
                    if (!_LocalOptions[(Int32)myTelnetSymbol.Option])
                    {
                        _LocalOptions[(Int32)myTelnetSymbol.Option] = true;
                        SendWillOption(myTelnetSymbol.Option);
                    }
                }
                else
                {
                    _LocalOptions[(Int32)myTelnetSymbol.Option] = false;
                    SendWontOption(myTelnetSymbol.Option);
                }
            }
        }
Пример #5
0
        private void HandleTelnetWontOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnWontOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnWontOptionReceived(this, args);

                // Set the remote option to false and send dont
                if (_RemoteOptions[(Int32)myTelnetSymbol.Option])
                {
                    SendDontOption(myTelnetSymbol.Option);
                    _RemoteOptions[(Int32)myTelnetSymbol.Option] = false;
                }
                // The option is already set to false, so do nothing
                else
                {
                }
            }
        }
Пример #6
0
        private void HandleTelnetWillOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnWillOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnWillOptionReceived(this, args);

                // If the remote option changed than set this option and send a Do or Dont depending on accepted
                if (args.Accepted != _RemoteOptions[(Int32)myTelnetSymbol.Option])
                {
                    _RemoteOptions[(Int32)myTelnetSymbol.Option] = args.Accepted;
                    if (args.Accepted)
                        SendDoOption(myTelnetSymbol.Option);
                    else
                        SendDontOption(myTelnetSymbol.Option);
                }
            }
        }
Пример #7
0
 private void HandleTelnetOption(TelnetSymbol myTelnetSymbol)
 {
     switch (myTelnetSymbol.Command)
     {
         case TelnetCommands.Will:
             HandleTelnetWillOption(myTelnetSymbol);
             break;
         case TelnetCommands.Wont:
             HandleTelnetWontOption(myTelnetSymbol);
             break;
         case TelnetCommands.Do:
             HandleTelnetDoOption(myTelnetSymbol);
             break;
         case TelnetCommands.Dont:
             HandleTelnetDontOption(myTelnetSymbol);
             break;
     }
 }
Пример #8
0
        private void HandleTelnetDoOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnDoOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnDoOptionReceived(this, args);

                if (args.Accepted)
                {
                    // only if we did not set this option already
                    if (!_LocalOptions[(Int32)myTelnetSymbol.Option])
                    {
                        _LocalOptions[(Int32)myTelnetSymbol.Option] = true;
                        SendWillOption(myTelnetSymbol.Option);
                    }
                }
                else
                {
                    _LocalOptions[(Int32)myTelnetSymbol.Option] = false;
                    SendWontOption(myTelnetSymbol.Option);
                }

            }
        }
Пример #9
0
        private void HandleTelnetDontOption(TelnetSymbol myTelnetSymbol)
        {
            if (OnDontOptionReceived != null)
            {
                TelnetOptionEventArgs args = new TelnetOptionEventArgs();
                args.TelnetSymbol = myTelnetSymbol;
                OnDontOptionReceived(this, args);

                // we accepted the dont of this option
                if (args.Accepted)
                {
                    _LocalOptions[(Int32)myTelnetSymbol.Option] = false;
                    SendWontOption(myTelnetSymbol.Option);
                }
                // if we do not accept the dont we could try to send a SendWillOption
                else
                {
                }

            }
        }
Пример #10
0
 private void HandleTelnetCommand(TelnetSymbol myTelnetSymbol)
 {
     if (OnCommandReceived != null)
     {
         TelnetCommandEventArgs args = new TelnetCommandEventArgs();
         args.TelnetSymbol = myTelnetSymbol;
         OnCommandReceived(this, args);
     }
 }