A @{link ProtocolSocketFactory} implementation that does not bind a socket.
The reason for this {@link ProtocolSocketFactory} implementation is that for ProxyServlet we don't need tobind to a local address and port. This binding can cause issue in PaaS environments where restrictions apply.
When {@link HttpConnection#open()} calls{@link ProtocolSocketFactory#createSocket(String,int,InetAddress,int,HttpConnectionParams)}which by default will use {@link DefaultProtocolSocketFactory#createSocket(String,int,InetAddress,int,HttpConnectionParams)}. The method that will be invoke is {@link DefaultProtocolSocketFactory#createSocket(String,int,InetAddress,int,HttpConnectionParams)}which will call {@code return new Socket(host, port, localAddress, localPort);}. The {@link Socket#Socket(InetAddress,int,InetAddress,int)} constructor will create a new Socket and connect to theremote address and port (the first two arguments). It will also bind() to the local address and port. This is the part that can cause issue in PaaS environment where there are restrictions.