import java.io.*; import java.net.*; // // // FingerBean // // Provides simple finger protocol capability, // encapsulated as a non-visual Java Bean. // // Written by : David Reilly // Release details : Public domain source/binary // Last modification date : November 21, 1997 // public class FingerBean { // Private member variables private String m_username; private String m_hostname; // String response from server private String m_serverResponse; // Constants private static final int fingerPort = 79; private static final String noConnection = "No connection established"; // FingerBean default constructor public FingerBean() { // No connection has been established yet m_serverResponse = noConnection; } // FingerBean full constructor public FingerBean( String user, String host ) { // Call default constructor this(); // Assign to class member variables m_username = user; m_hostname = host; } // Username accessor : GET public String getUsername() { // Return username return m_username; } // Username accessor : SET public void setUsername(String username) { // Assign to local member variable m_username = username; // Reset server response, as its a new user m_serverResponse = noConnection; } // Hostname accessor : GET public String getHostname() { // Return username return m_hostname; } // Username accessor : SET public void setHostname(String hostname) { // Assign to local member variable m_hostname = hostname; // Reset server response, as its a new user m_serverResponse = noConnection; } // Connects to a finger server public void connect() throws IOException { // Connect to finger server Socket fingerSocket = new Socket ( m_hostname, fingerPort ); // Create a bufferedinput stream from the socket BufferedInputStream bin = new BufferedInputStream(fingerSocket.getInputStream()); // Create a printstream to the socket PrintStream out = new PrintStream(fingerSocket.getOutputStream()); // Create a string buffer to store response StringBuffer buf = new StringBuffer(); // Write username to finger server out.println ( m_username ); // Read response for (;;) { // Read data int data = bin.read(); // Convert int to character char character = (char) data; // Have we reached the end? if (data == -1) break; else // Append the line to our buffer buf.append(character); } // Assign contents of buffer to our serverResponse m_serverResponse = new String(buf); } // Server response accessor : GET public String getServerResponse() { // Return server response return m_serverResponse; } }