⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 replyrequirmentsocks4message.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.CommLayer.SocksSipConnection
{
    using System;
    using System.IO;

    internal sealed class ReplyRequirmentSocks4Message : Socks4Message
    {
        private string _dstHost;
        private int _dstPort;
        private Socks4RequirmentReplyType _rep;

        public ReplyRequirmentSocks4Message(Socks4RequirmentReplyType rep, string dstHost, int dstPort)
        {
            this.Rep = rep;
            this.DstHost = dstHost;
            this.DstPort = dstPort;
        }

        public static ReplyRequirmentSocks4Message Parse(byte[] messageBuffer)
        {
            ReplyRequirmentSocks4Message message;
            try
            {
                if (messageBuffer == null)
                {
                    throw new ArgumentException("messageBuffer");
                }
                if (messageBuffer[0] != 0)
                {
                    throw new ArgumentException("messageBuffer");
                }
                try
                {
                    using (MemoryStream stream = new MemoryStream(messageBuffer))
                    {
                        stream.Seek((long) 1, SeekOrigin.Begin);
                        Socks4RequirmentReplyType rep = (Socks4RequirmentReplyType) ((byte) stream.ReadByte());
                        string dstHost = "";
                        int dstPort = 0;
                        if (rep == Socks4RequirmentReplyType.Granted)
                        {
                            dstPort = stream.ReadByte() << 8;
                            dstPort |= stream.ReadByte();
                            for (int i = 0; i < 4; i++)
                            {
                                if (dstHost != "")
                                {
                                    dstHost = dstHost + ".";
                                }
                                dstHost = dstHost + stream.ReadByte().ToString();
                            }
                        }
                        message = new ReplyRequirmentSocks4Message(rep, dstHost, dstPort);
                    }
                }
                catch (Exception exception)
                {
                    throw new ArgumentException("转换过程中出现错误", exception);
                }
            }
            catch (Exception exception2)
            {
                throw new SocksConnectionException("代理服务器对连接请求的应答无效", exception2, SocksConnectionErrorCode.ReplyError);
            }
            return message;
        }

        public override byte[] ToBinary()
        {
            return null;
        }

        public string DstHost
        {
            get
            {
                return this._dstHost;
            }
            private set
            {
                this._dstHost = value;
            }
        }

        public int DstPort
        {
            get
            {
                return this._dstPort;
            }
            private set
            {
                this._dstPort = value;
            }
        }

        public Socks4RequirmentReplyType Rep
        {
            get
            {
                return this._rep;
            }
            private set
            {
                this._rep = value;
            }
        }

        public bool Succeeded
        {
            get
            {
                return (this.Rep == Socks4RequirmentReplyType.Granted);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -