java网络编程的java.net.SocketException: Connection reset异常
时间:2015-05-11 08:53:07
收藏:0
阅读:140
一开始学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!"); } }
当客户端缺少flush语句并且没有关闭close时
---------- 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 秒) - 正常终止
评论(0)