一开始学Stream时没注意过write的flush()方法,今天在学网络编程时,注意到了
服务器端:
import java.net.*; import java.io.*; public class Client { public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost",8888); BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream()); byte[] buff = new byte[2048]; for(int i = 0 ; i < 2048 ; i ++){ buff[i] = 'a'; } out.write(buff); out.flush(); out.close(); socket.close(); System.out.println("Send Over!"); } }
import java.net.*; import java.io.*; public class Client { public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost",8888); BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream()); byte[] buff = new byte[2048]; for(int i = 0 ; i < 2048 ; i ++){ buff[i] = 'a'; } out.write(buff); out.flush(); out.close(); socket.close(); System.out.println("Send Over!"); } }
---------- java ----------
Wait for connection...
Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at Server.main(Server.java:13)
输出完成 (耗时 5 秒) - 正常终止
java网络编程的java.net.SocketException: Connection reset异常
原文地址:http://blog.csdn.net/havedream_one/article/details/45640069