
The apache commons net library implements the client side of many basic internet protocols. the purpose of the library is to provide fundamental protocol access, not higher-level abstractions. therefore, some of the design violates object-oriented design principles. the philosophy is to make the global functionality of a protocol accessible (e.g., tftp send file and receive file) when possible, but also provide access to the fundamental protocols where applicable so that a programmer may construct his own custom implementations (e.g, the tftp packet classes and the tftp packet send and receive methods are exposed).
the supported protocols include:
* ftp/ftps
* ftp over http (experimental)
* nntp
* smtp(s)
* pop3(s)
* imap(s)
* telnet
* tftp
* finger
* whois
* rexec/rcmd/rlogin
* time (rdate) and daytime
* echo
* discard
* ntp/sntp