使用带有套接字的Scanner和PrintWriter时的异常(网络)

时间:2018-04-05 18:52:37

标签: java network-programming java.util.scanner printwriter

服务器端有两个程序,客户端有另一个。客户端首先将带有PrintWriter对象的整数发送到服务器,然后客户端使用相同的PrintWriter对象发送一个String。 服务器使用Scanner对象读取它们。它正确读取第一个整数,但不是读取下一个字符串,它根本不读取任何内容(或者它看起来是这样)。 服务器端代码: -

import java.io.*;
import java.util.*;
import java.net.*;
class testServer
{
    public static void main(String[] args)throws Exception {
        ServerSocket ss=new ServerSocket(XYZ);
        Socket s=ss.accept();
        Scanner sc=new Scanner(s.getInputStream());
        System.out.println(sc.nextInt());
        System.out.println(sc.nextLine());
   }
}

客户端代码: -

import java.io.*;
import java.util.*;
import java.net.*;
class test1
{
    public static void main(String[] args)throws Exception {
        Socket s=new Socket("localhost",XYZ);
        Scanner sc=new Scanner(s.getInputStream());
        PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
        pw.println(5);
        pw.println("Random text");
    }
}

如果我在服务器端代码中使用sc.next()或sc.nextLine()而不是sc.nextInt(),那么这很好但我真的想知道sc.nextInt()的问题是什么我会喜欢一些帮助。

当前输出: - Output

XYZ是这里的任何端口号。

0 个答案:

没有答案