コード例 #1
0
 public void Resize(int width, int height)
 {
     if (!_parent.IsClosed)
     {
         TelnetOptionWriter wr = new TelnetOptionWriter();
         wr.WriteTerminalSize(width, height);
         wr.WriteTo(_socket);
     }
 }
コード例 #2
0
        private void ProcessOptionRequest(byte option_)
        {
            TelnetOption option = (TelnetOption)option_;

            switch (option)
            {
            case TelnetOption.TerminalType:
                if (_state == TelnetCode.DO)
                {
                    _optionWriter.Write(TelnetCode.WILL, option);
                }
                else
                {
                    _warnings.Add("Message.Telnet.FailedToSendTerminalType");
                }
                break;

            case TelnetOption.NAWS:
                if (_state == TelnetCode.DO)
                {
                    _optionWriter.WriteTerminalSize(_width, _height);
                }
                else
                {
                    _warnings.Add("Message.Telnet.FailedToSendWidnowSize");
                }
                break;

            case TelnetOption.SuppressGoAhead:
                if (_state != TelnetCode.WILL && _state != TelnetCode.DO)                    //!!—¼•û‚ª—ˆ‚½‚±‚Æ‚ðŠm”F‚·‚é
                {
                    _warnings.Add("Message.Telnet.FailedToSendSuppressGoAhead");
                }
                break;

            case TelnetOption.LocalEcho:
                if (_state == TelnetCode.DO)
                {
                    _optionWriter.Write(TelnetCode.WILL, option);
                }
                break;

            default:                     //ã‹LˆÈŠO‚Í‚·‚ׂċ‘”ہBDO‚É‚ÍWON'T, WILL‚É‚ÍDON'T‚̉ž“š‚ð•Ô‚·B
                if (_state == TelnetCode.DO)
                {
                    _optionWriter.Write(TelnetCode.WONT, option);
                }
                else if (_state == TelnetCode.WILL)
                {
                    _optionWriter.Write(TelnetCode.DONT, option);
                }
                break;
            }
        }