关于Echoclient计划的问题

时间:2011-05-01 05:57:42

标签: 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 个答案:

答案 0 :(得分:1)

初始化socketnew Socket("taranis",3218))时,您需要使用有效的主机名或服务器的有效IP(假设您有一个)。接受这些教程非常棒(正如 icktoofay 所指出的那样),但特别是在网络方面,您必须确保在另一侧运行匹配的应用程序,并且参数匹配它。 IP和端口通常在不同机器之间以及从应用程序到应用程序之间发生变化。