Package org.apache.commons.net.chargen
Class CharGenUDPClient
java.lang.Object
org.apache.commons.net.DatagramSocketClient
org.apache.commons.net.chargen.CharGenUDPClient
- All Implemented Interfaces:
- AutoCloseable
The CharGenUDPClient class is a UDP implementation of a client for the character generator protocol described in RFC 864. It can also be used for Systat (RFC
 866), Quote of the Day (RFC 865), and netstat (port 15). All of these protocols involve sending a datagram to the appropriate port, and reading data
 contained in one or more reply datagrams. The chargen and quote of the day protocols only send one reply datagram containing 512 bytes or fewer. The
 other protocols may reply with more than one datagram, in which case you must wait for a timeout to determine that all reply datagrams have been sent.
 
 To use the CharGenUDPClient class, just open a local UDP port with open  and call send
  to send the datagram that will initiate the data reply. For chargen or quote of the day, just call receive , and you're done. For netstat
 and systat, call receive in a while loop, and catch a SocketException and InterruptedIOException to detect a timeout (don't forget to set the timeout
 duration beforehand). Don't forget to call close()  to clean up properly.
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intThe character generator port value of 19 according to RFC 864.static final intThe default chargen port.static final intThe netstat port value of 19.static final intThe quote of the day port value of 17 according to RFC 865.static final intThe systat port value of 11 according to RFC 866.Fields inherited from class org.apache.commons.net.DatagramSocketClient_isOpen_, _socket_, _socketFactory_, _timeout_
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbyte[]receive()Receive the reply data from the server.voidsend(InetAddress host) Same assend(host, CharGenUDPClient.DEFAULT_PORT);voidsend(InetAddress host, int port) Sends the data initiation datagram.Methods inherited from class org.apache.commons.net.DatagramSocketClientcheckOpen, close, getCharset, getCharsetName, getDefaultTimeout, getLocalAddress, getLocalPort, getSoTimeout, getSoTimeoutDuration, isOpen, open, open, open, setCharset, setDatagramSocketFactory, setDefaultTimeout, setDefaultTimeout, setSoTimeout, setSoTimeout
- 
Field Details- 
SYSTAT_PORTThe systat port value of 11 according to RFC 866.- See Also:
 
- 
NETSTAT_PORTThe netstat port value of 19.- See Also:
 
- 
QUOTE_OF_DAY_PORTThe quote of the day port value of 17 according to RFC 865.- See Also:
 
- 
CHARGEN_PORTThe character generator port value of 19 according to RFC 864.- See Also:
 
- 
DEFAULT_PORTThe default chargen port. It is set to 19 according to RFC 864.- See Also:
 
 
- 
- 
Constructor Details- 
CharGenUDPClientpublic CharGenUDPClient()The default CharGenUDPClient constructor. It initializes some internal data structures for sending and receiving the necessary datagrams for the chargen and related protocols.
 
- 
- 
Method Details- 
receiveReceive the reply data from the server. This will always be 512 bytes or fewer. Chargen and quote of the day only return one packet. Netstat and systat require multiple calls to receive() with timeout detection.- Returns:
- The reply data from the server.
- Throws:
- IOException- If an error occurs while receiving the datagram.
 
- 
sendSame assend(host, CharGenUDPClient.DEFAULT_PORT);- Parameters:
- host- the destination host
- Throws:
- IOException- on error
 
- 
sendSends the data initiation datagram. This data in the packet is ignored by the server, and merely serves to signal that the server should send its reply.- Parameters:
- host- The address of the server.
- port- The port of the service.
- Throws:
- IOException- If an error occurs while sending the datagram.
 
 
-