2017年11月

about SOCKS 协议

SOCKS: Socket Secure. OSI 模型的第五层, 提供代理服务, tcp, 默认1080端口, 提供用户名密码认证. SOCK4, SOCK5 2个版本.

https://en.wikipedia.org/wiki/SOCKS

about httpclient timeout

http://www.baeldung.com/httpclient-timeout
https://stackoverflow.com/questions/31611861/why-setconnectionrequesttimeout-doesnt-stop-my-1-min-get-request
Oracle Java parameters
https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html

getConnectionRequestTimeout()
Returns the timeout in milliseconds used when requesting a connection from the connection manager.

getConnectTimeout()
Determines the timeout in milliseconds until a connection is established.

getSocketTimeout()
Defines the socket timeout (SO_TIMEOUT) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets).

sun.net.client.defaultConnectTimeout (default: -1)
sun.net.client.defaultReadTimeout (default: -1)

These properties specify the default connect and read timeout (resp.) for the protocol handler used by java.net.URLConnection.
sun.net.client.defaultConnectTimeout specifies the timeout (in milliseconds) to establish the connection to the host. For example for http connections it is the timeout when establishing the connection to the http server. For ftp connection it is the timeout when establishing the connection to ftp servers.

sun.net.client.defaultReadTimeout specifies the timeout (in milliseconds) when reading from input stream when a connection is established to a resource.