一个通过socket传输程序,传输一些文件和照片之类的东西。前段时间一直是跑得好好的,突然一天就出现了问题,一直报Connection reset错误,具体错误信息为:java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:113)
        at java.io.DataInputStream.readFully(DataInputStream.java:266)
        at java.io.DataInputStream.readFully(DataInputStream.java:242)
        at suncfs.etransserver.SocketTransService.bRecieveData(SocketTransService.java:359)
        at suncfs.etransserver.SocketTransService.RecieveMessage(SocketTransService.java:398)
        at suncfs.etransserver.SocketProcessService.HandleConnection(SocketProcessService.java:475)
        at suncfs.etransserver.SocketProcessService.run(SocketProcessService.java:354)===========================================================出现这个错误的过程中,我调整了每次发包大小的buffer参数,在此参数很小的情况下,发送小的文件,有时候能成功,有时候还是会出现错误。代码里是
void readFully(byte[] b)throws IOException 这个方法出现了问题。=====================================================================readFully
void readFully(byte[] b)
               throws IOException从输入流中读取一些字节,并将它们存储到缓冲区数组 b 中。读取的字节数等于 b 的长度。 
在出现以下条件之一前,此方法将阻塞:
输入数据的 b.length 个字节是可用的,在这种情况下,正常返回。 
检测到文件末尾,在这种情况下,抛出 EOFException。 
发生 I/O 错误,在这种情况下,将抛出 IOException,而不是 EOFException。 
如果 b 为 null,则抛出 NullPointerException。如果 b.length 为零,则不读取字节。否则,将读取的第一个字节存储到元素 b[0] 中,下一个字节存储到 b[1] 中,依此类推。如果此方法抛出异常,则可能是因为已经用输入流中的数据更新了 b 的某些(但非全部)字节。 
参数:
b - 存储读取数据的缓冲区。 
抛出: 
EOFException - 如果此流在读取所有字节之前到达末尾。 
IOException - 如果发生 I/O 错误。================================望高人能指导一下,有没有啥办法可以解决这个问题。