无法使用扫描程序

时间:2015-06-01 17:08:03

标签: java sockets

我正在尝试使用ServerSocket创建一个套接字,然后向客户端写一条消息,而在另一个类中,我正在连接它并尝试阅读该消息。

首先,这是我的服务器类。

try {

        ServerSocket sSocket = new ServerSocket(1300);
        Socket socket = sSocket.accept();

        PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
        pw.println("Hello");

    } catch (IOException e) {
        e.printStackTrace();
    }

如果我使用cmd连接到它,telnet localhost 1300,它可以正常工作,但是当我使用java Socket类时,它无法正常工作,

这是我的代码连接到它。

    try {

        Socket socket = new Socket("localhost", 1300);
        InputStream istream = socket.getInputStream();

        Scanner scanner1 = new Scanner(istream);

        while (scanner1.hasNextLine()) {
            String p = scanner1.nextLine();
            System.out.println(p);
        }

        scanner1.close();
        socket.close();

    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

在上面的代码中,while块没有被执行,它只是跳过我的程序,因此在控制台中没有打印消息。

为什么即使有一行要读取,也没有执行while循环?

0 个答案:

没有答案