首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

Software caused connection abort: socket write error解决方法!

2014-01-26 
package ok import java.net.* import java.io.* public class Application1 { public static void main

package ok;

import java.net.*;
import java.io.*;

public class Application1 {
public static void main(String args[]) {
try {
ServerSocket server = new ServerSocket(1991);
Socket soc = server.accept();
BufferedOutputStream output = new BufferedOutputStream(soc.
  getOutputStream());
BufferedInputStream input = new BufferedInputStream(new
  FileInputStream(new File(
  "C:\\Documents and Settings\\Administrator\\My Documents\\1.bmp ")));

byte[] zijie=new byte[1024];

while(input.read(zijie)> 0)
{
  output.write(zijie);
  output.flush();
}

input.close();
output.close(); //把这个去掉就没错了

soc.close();
server.close();

} catch (Exception ex) {

System.out.println( "有错误发生了! " + ex.getMessage());
}

}
}


上面是我写的传图片的代码。 在运行的时候会报
Software caused connection abort: socket write error 这个错误?
可是如果把output.close();去掉后就不会有错了 事实上在我写的所有有关socket的代码中 只要把输出流一关 就会出错! 谁告诉我一下为什么?
------解决方法--------------------------------------------------------
我的客户端代码是:
/**
*
*/
package ok;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.UnknownHostException;

/**
* @author arkwrightzhn
*
*/
public class Application2 {

/**
* @param args
*/
public static void main(String[] args) {
Socket socket=null;         

热点排行