Почему в следующем коде в качестве имени хоста используется адрес электронной почты? - PullRequest
0 голосов
/ 09 июля 2019

В данный момент я изучаю сокеты и в качестве примера я создаю клиент finger.Я заметил, что имя хоста должно быть адресом электронной почты, а не именем домена в следующем коде:

import java.io.*;
import java.net.*;
import java.util.*;

public class Finger {
    public static void main(String[] args) {
        String user;
        String host;
        if ((args.length == 1) && (args[0].indexOf("@") > -1)) {
            StringTokenizer split = new StringTokenizer(args[0],
                "@");
            user = split.nextToken();
            host = split.nextToken();
        } else {
            System.out.println("Usage: java Finger user@host");
            return;
        }
        try (Socket digit = new Socket(host, 79);
            BufferedReader in = new BufferedReader(
                new InputStreamReader(digit.getInputStream()));
            ) {

            digit.setSoTimeout(20000);
            PrintStream out = new PrintStream(
                digit.getOutputStream());
            out.print(user + "\015\012");

            boolean eof = false;
            while (!eof) {
                String line = in.readLine();
                if (line != null) {
                    System.out.println(line);
                } else {
                    eof = true;
                }
            }
            digit.close();
        } catch (IOException e) {
            System.out.println("IO Error:" + e.getMessage());
        }
    }
}

Разве это не должно быть имя домена, поскольку адреса электронной почты используются для разрешения IP-адресапочтовые серверы не фингер-серверы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...