Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Sockets编程中SOCKS、DIRECT和HTTP的区别_Java_Android_Sockets_Language Agnostic - Fatal编程技术网

Java Sockets编程中SOCKS、DIRECT和HTTP的区别

Java Sockets编程中SOCKS、DIRECT和HTTP的区别,java,android,sockets,language-agnostic,Java,Android,Sockets,Language Agnostic,在sockets编程环境中,SOCKS、DIRECT和HTTP类型的连接之间有什么区别 具体来说,我指的是Android socket类,但假设这个问题适用于其他语言。当您编写一个应用程序,使用socket与Internet进行通信时,特别是任何希望使用HTTP的应用程序时,您可能处于以下三种不同情况之一: 与internet的方向连接-您可以直接与另一端的服务器建立TCP/IP连接 通过SOCKS代理连接-您无法在终端建立到服务器的直接连接。相反,您需要使用SOCKS协议联系本地LAN安全网关

在sockets编程环境中,SOCKS、DIRECT和HTTP类型的连接之间有什么区别


具体来说,我指的是Android socket类,但假设这个问题适用于其他语言。

当您编写一个应用程序,使用socket与Internet进行通信时,特别是任何希望使用HTTP的应用程序时,您可能处于以下三种不同情况之一:

  • 与internet的方向连接-您可以直接与另一端的服务器建立TCP/IP连接

  • 通过SOCKS代理连接-您无法在终端建立到服务器的直接连接。相反,您需要使用SOCKS协议联系本地LAN安全网关计算机,并要求它在最后打开与服务器的连接,打开SOCKS代理服务器的套接字,并让它通过转发您与目标服务器之间的通信量将您接驳到服务器,前提是本地安全策略允许这样做

  • 通过HTTP代理连接-您无法建立到internet的直接连接,或者出于性能(缓存)原因使用代理非常有用。再一次,不要打开与另一端服务器的连接,而是通过HTTP协议打开与您附近的HTTP代理服务器(可能在局域网上,也可能在局域网上)的连接,并要求它代表您与终端设备进行HTTP事务

  • 以下是枚举值描述的3种情况


    实际上,存在第四种情况——透明代理,但顾名思义,您的代码不知道它,因此它不由枚举值表示。在这种情况下,您按照场景1(方向连接)进行操作,但实际上您处于场景3(HTTP代理)中。LAN上的网络设备(通常是路由器,有时是交换机)透明地将目标服务器重定向到HTTP代理.

    谢谢您的详细回答。列出的第4种情况是否与Apache NiFi处理器InvokeHTTP及其相应的参数Proxy Configuration Service设置为DIRECT for Proxy Type同义?@NathanBenton我对NiFi了解不够,无法回答。我的猜测是直接指选项1。但是对于应用程序,选项1和4看起来完全相同。