⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fingerserver.java

📁 21天JAVA学习! 21天JAVA学习! 21天JAVA学习!
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.Random;

public class FingerServer extends Thread {
    private ServerSocket sock;

    public FingerServer() {
        super("Finger Server");
        try {
            sock = new ServerSocket(79);
            System.out.println("Finger Server up and running ...");
        } catch (IOException e) {
            System.err.println("Error: couldn't create socket.");
            System.exit(1);
        }
    }

    public void run() {
        Socket client = null;

        // Look for clients
        while (true) {
            // Wait for a client
            if (sock == null)
                return;
            try {
                client = sock.accept();
            } catch (IOException e) {
                System.err.println("Error: couldn't connect to client.");
                System.exit(1);
            }

            // Process finger requests
            try {
                InputStreamReader isr = new InputStreamReader(
                    client.getInputStream());
                BufferedReader is = new BufferedReader(isr);
                PrintWriter os = new PrintWriter(new
                   BufferedOutputStream(client.getOutputStream()), false);
                String outLine = null;

                // Output server greeting
                os.println("*** Finger Server");
                os.flush();

                // Process and output user input
                String inLine = is.readLine();
                if (inLine.length() > 0)
                    outLine = inLine;
                readPlan(outLine, os);
                os.flush();

                // Clean up
                os.close();
                is.close();
                client.close();
            } catch (Exception e) {
                System.err.println("Error: " + e);
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] arguments) {
        FingerServer server = new FingerServer();
        server.start();
    }

    void readPlan(String userName, PrintWriter os) {
        try {
            FileReader file = new
                FileReader(userName + ".plan");
            BufferedReader buff = new
                BufferedReader(file);
            boolean eof = false;
            os.println("\nUser name: " + userName + "\n");
            while (!eof) {
                String line = buff.readLine();
                if (line == null)
                   eof = true;
                else
                   os.println(line);
            }
            buff.close();
        } catch (IOException e) {
            os.println("User " + userName + " not found.");
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -