Exemplo n.º 1
0
        public SocketConnectionResult Connect()
        {
            SocketConnectionResult status = (clientSocket.Connected) ? SocketConnectionResult.CONNECTED : SocketConnectionResult.DISCONNECTED;

            if (status == SocketConnectionResult.DISCONNECTED)
            {
                try
                {
                    clientSocket.Connect(this.IpAddress, this.Port);
                    status = SocketConnectionResult.CONNECTED;
                }
                catch (TimeoutException) { status = SocketConnectionResult.CONNECT_TIMEOUT; this.Disconnect(); return(status); }
                catch (SystemException)  { status = SocketConnectionResult.CONNECT_ERROR;   this.Disconnect(); return(status); }
            }
            return(status);
        }
Exemplo n.º 2
0
        public static string Build(SocketConnectionResult error, string httpVersion)
        {
            switch (error)
            {
            case SocketConnectionResult.AuthenticationError:
                return(httpVersion + "401 Unauthorized\r\n\r\n");

            case SocketConnectionResult.HostUnreachable:
            case SocketConnectionResult.ConnectionRefused:
            case SocketConnectionResult.ConnectionReset:
                return(string.Concat(httpVersion, "502 ", error.ToString(), "\r\n\r\n"));

            default:
                return(string.Concat(httpVersion, "500 Internal Server Error\r\nX-Proxy-Error-Type: ", error.ToString(), "\r\n\r\n"));
            }
        }
Exemplo n.º 3
0
        public SocketConnectionResult Disconnect()
        {
            SocketConnectionResult status = (clientSocket.Connected) ? SocketConnectionResult.CONNECTED : SocketConnectionResult.DISCONNECTED;

            if (status == SocketConnectionResult.CONNECTED)
            {
                try
                {
                    clientSocket.Close();
                    clientSocket = new TcpClient()
                    {
                        ReceiveTimeout = this.ReceiveTimeout
                    };
                    status = SocketConnectionResult.DISCONNECTED;
                }
                catch (TimeoutException) { status = SocketConnectionResult.DISCONNECT_TIMEOUT; return(status); }
                catch (SystemException)  { status = SocketConnectionResult.DISCONNECT_ERROR;   return(status); }
            }
            return(status);
        }