Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法读取使用DataOutputStream发送的数字_Java_Datainputstream_Dataoutputstream - Fatal编程技术网

Java 无法读取使用DataOutputStream发送的数字

Java 无法读取使用DataOutputStream发送的数字,java,datainputstream,dataoutputstream,Java,Datainputstream,Dataoutputstream,这是我的客户代码 Random rand = new Random(); int n = rand.nextInt(50) + 1; DataInputStream dis = new DataInputStream(_socket.getInputStream()); DataOutputStream dos = new DataOutputStream(_socket.getOutputStream()); dos.writeInt(n); 这是服务器代码 try { Data

这是我的客户代码

Random rand = new Random();
int  n = rand.nextInt(50) + 1;
DataInputStream dis = new DataInputStream(_socket.getInputStream());
DataOutputStream dos = new DataOutputStream(_socket.getOutputStream());
dos.writeInt(n);
这是服务器代码

try {
     DataInputStream dis = new DataInputStream(socket.getInputStream());
     BufferedReader input = new BufferedReader(new InputStreamReader(dis));  
     int fromClient = input.read();
     System.out.println(fromClient);
} catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
}
但我没有收到任何来自客户机的信息,即使我这样修改它

System.out.println(fromClient+"test");

我没有得到结果

如果在写端使用
writeInt()
,那么在读端应该使用
readInt()
(所有方法名都与DataOutputStream和DataInputStream相关,请阅读javadoc)。

客户端需要调用
dos.flush()
dos.close()
将缓冲数据推送到服务器。(如果要写入更多数据,请刷新,否则关闭。)

服务器端需要在
DataInputStream
实例上使用readInt读取数据。应使用DataInputStream读取使用DataOutputStream写入的数据

最后,去掉BufferedReader/InputStreamReader。这是错误的