org.apache.commons.net.bsd
public class RLoginClient extends RCommandClient
As with virtually all of the client classes in org.apache.commons.net, this class derives from SocketClient. But it relies on the connection methods defined in RcommandClient which ensure that the local Socket will originate from an acceptable rshell port. The way to use RLoginClient is to first connect to the server, call the {@link #rlogin rlogin() } method, and then fetch the connection's input and output streams. Interaction with the remote command is controlled entirely through the I/O streams. Once you have finished processing the streams, you should invoke {@link org.apache.commons.net.bsd.RExecClient#disconnect disconnect() } to clean up properly.
The standard output and standard error streams of the remote process are transmitted over the same connection, readable from the input stream returned by {@link org.apache.commons.net.bsd.RExecClient#getInputStream getInputStream() } . Unlike RExecClient and RCommandClient, it is not possible to tell the rlogind daemon to return the standard error stream over a separate connection. {@link org.apache.commons.net.bsd.RExecClient#getErrorStream getErrorStream() } will always return null. The standard input of the remote process can be written to through the output stream returned by {@link org.apache.commons.net.bsd.RExecClient#getOutputStream getOutputSream() } .
See Also: SocketClient RExecClient
Field Summary | |
---|---|
static int | DEFAULT_PORT
The default rlogin port. |
Constructor Summary | |
---|---|
RLoginClient()
The default RLoginClient constructor. |
Method Summary | |
---|---|
void | rlogin(String localUsername, String remoteUsername, String terminalType, int terminalSpeed)
Logins into a remote machine through the rlogind daemon on the server
to which the RLoginClient is connected. |
void | rlogin(String localUsername, String remoteUsername, String terminalType)
Same as the other rlogin method, but no terminal speed is defined.
|
DEFAULT_PORT
.
If user authentication fails, the rlogind daemon will request that a password be entered interactively. You will be able to read the prompt from the output stream of the RLoginClient and write the password to the input stream of the RLoginClient.
Parameters: localUsername The user account on the local machine that is trying to login to the remote host. remoteUsername The account name on the server that is being logged in to. terminalType The name of the user's terminal (e.g., "vt100", "network", etc.) terminalSpeed The speed of the user's terminal, expressed as a baud rate or bps (e.g., 9600 or 38400)
Throws: IOException If the rlogin() attempt fails. The exception will contain a message indicating the nature of the failure.