SendRequest() public static method

public static SendRequest ( Client cli, SocksEncryption enc, string ipOrDomain, int port ) : socks5.Socks.SocksError
cli socks5.TCP.Client
enc socks5.Encryption.SocksEncryption
ipOrDomain string
port int
return socks5.Socks.SocksError
示例#1
0
        private void onConnected(IAsyncResult res)
        {
            Client = (Client)res.AsyncState;
            try
            {
                Client.Sock.EndConnect(res);
            }
            catch
            {
                this.OnConnected(this, new Socks5ClientArgs(null, SocksError.Failure));
                return;
            }
            //Client.onDataReceived += Client_onDataReceived;
            switch (Socks.Greet(this))
            {
            case 0:
                //disconnect.
                this.OnConnected(this, new Socks5ClientArgs(null, SocksError.Failure));
                return;

            case 1:
                //no login, continue.
                break;

            case 2:
                //requires login. send login.
                if (!Socks.SendLogin(this, Username, Password))
                {
                    this.OnConnected(this, new Socks5ClientArgs(null, SocksError.LoginRequired));
                    return;
                }
                break;
            }
            this.OnConnected(this, new Socks5ClientArgs(Client, Socks.SendRequest(this, Dest, Destport)));
        }
示例#2
0
 public bool ConnectWithEp()
 {
     p      = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     Client = new Client(p, 65535);
     Client.Sock.Connect(ep);
     //try the greeting.
     //Client.onDataReceived += Client_onDataReceived;
     if (Socks.DoSocksAuth(this, Username, Password))
     {
         if (Socks.SendRequest(Client, enc, Dest, Destport) == SocksError.Granted)
         {
             Client.onDataReceived += Client_onDataReceived;
             return(true);
         }
     }
     return(false);
 }
示例#3
0
        public bool Connect()
        {
            try
            {
                p      = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Client = new Client(p, 2048);
                Client.Sock.Connect(new IPEndPoint(ipAddress, Port));
                //try the greeting.
                //Client.onDataReceived += Client_onDataReceived;
                switch (Socks.Greet(this))
                {
                case 0:
                    //disconnect.
                    return(false);

                case 1:
                    //no login, continue.
                    break;

                case 2:
                    //requires login. send login.
                    if (!Socks.SendLogin(this, Username, Password))
                    {
                        return(false);
                    }
                    break;
                }
                if (Socks.SendRequest(this, Dest, Destport) == SocksError.Granted)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
示例#4
0
 private void onConnected(IAsyncResult res)
 {
     Client = (Client)res.AsyncState;
     try
     {
         Client.Sock.EndConnect(res);
     }
     catch
     {
         this.OnConnected(this, new Socks5ClientArgs(null, SocksError.Failure));
         return;
     }
     if (Socks.DoSocksAuth(this, Username, Password))
     {
         SocksError p = Socks.SendRequest(Client, enc, Dest, Destport);
         Client.onDataReceived += Client_onDataReceived;
         this.OnConnected(this, new Socks5ClientArgs(this, p));
     }
     else
     {
         this.OnConnected(this, new Socks5ClientArgs(this, SocksError.Failure));
     }
 }