вопрос, касающийся программы Echoclient

#java

#java

Вопрос:

Я всегда получаю сообщение, не знаю о хосте: taranis. при запуске программы echoclient. вот программа ниже

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

public class EchoClient {
    public static void main(String[] args) throws IOException {

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket("taranis",3218);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis.");
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for "
                                 "the connection to: taranis.");
            System.exit(1);
        }

    BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));
    String userInput;

    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: "   in.readLine());
    }

    out.close();
    in.close();
    stdIn.close();
    echoSocket.close();
    }
}
  

Комментарии:

1. Кто такой Таранис? есть ли у вас компьютер с таким именем в вашей сети?

2. Эмм, ну… это означает, что нет такого хоста, как «taranis». Вам необходимо использовать допустимое имя хоста.

3. К вашему сведению: этот код, похоже, взят отсюда: download.oracle.com/javase/tutorial/networking/sockets /…

Ответ №1:

Вам необходимо использовать действительное имя хоста или действительный IP вашего сервера (при условии, что он у вас есть) при инициализации вашего сокета ( new Socket("taranis",3218) ). Было бы здорово воспользоваться этими руководствами (как указано icktoofay), но особенно когда дело доходит до работы в сети, вы должны убедиться, что у вас есть соответствующее приложение, запущенное на другой стороне, и что параметры соответствуют ему. IP и порт обычно меняются от компьютера к компьютеру и от приложения к приложению.