In some networks there are machines that behind firewalls for security reasons . This situation prevents them to establish or receive direct connections with other machines outside those networks.
The way around this restriction is to use proxy servers, when these are available, using the SOCKS protocol.
This class encapsulates the establishment of socket based connections using version 5 of the SOCKS protocol. This enables applications that depend on the reachability of servers outside of heavily protected networks.