线程“main”中的异常java.net.UnknownHostException:localhost

时间:2013-12-15 15:25:41

标签: java

这是我的服务器创建代码 -

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

class ServerCreation {
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket( 1234 ); 
        System.out.println( "Server created, waiting for client"); 
        Socket socket = server.accept();
        System.out.println(" Client has connected");

    }
}

这是我的客户代码 -

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

class ServerClient {
public static void main(String argv[]) throws IOException {
    try {
    Socket clientSocket = new Socket("localhost", 1234);
    }
    catch (UnknownHostException e)
    {
        System.err.println("Couldn't find Host");
    }
    }
}

当我尝试运行客户端代码时,出现以下错误:

Exception in thread "main" java.net.UnknownHostException:  localhost
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:223)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
at java.net.Socket.connect(Socket.java:527)
at java.net.Socket.connect(Socket.java:476)
at java.net.Socket.<init>(Socket.java:373)
at java.net.Socket.<init>(Socket.java:187)
at ServerClient.main(ServerClient.java:6)

我试图ping我的localhost,它运行正常。不确定发生了什么。请帮忙。

2 个答案:

答案 0 :(得分:3)

如果要使用local作为主机名,则需要在DNS或托管文件中使用它。正确的语法是localhost127.0.0.1或您的IP。

答案 1 :(得分:0)

更好地使用网络的IP地址。 对于本地主机,请使用 套接字s =新套接字(“127.0.0.1”,1234);