套接字文件传输中的连接重置

时间:2012-06-20 12:38:34

标签: java sockets file-transfer

我只想在eclipse中运行使用套接字进行文件传输的示例代码!并且客户端给我这个错误:

Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at Client.main(Client.java:13)

我不认为这是由对方关闭套接字引起的!  这是服务器和客户端的代码:

public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket servsock = new ServerSocket(1000);
        File myFile = new File("s.pdf");

        while (true) {
            Socket sock = servsock.accept();
            byte[] mybytearray = new byte[(int) myFile.length()];
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));
            bis.read(mybytearray, 0, mybytearray.length);
            OutputStream os = sock.getOutputStream();
            os.write(mybytearray, 0, mybytearray.length);
            os.flush();
            sock.close();
        }
    }
}


public class Client {
    public static void main(String[] argv) throws Exception {
        Socket sock = new Socket("127.0.0.1", 1000);
        byte[] mybytearray = new byte[1024];
        InputStream is = sock.getInputStream();
        FileOutputStream fos = new FileOutputStream("s.pdf");
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        int bytesRead = is.read(mybytearray, 0, mybytearray.length);
        bos.write(mybytearray, 0, bytesRead);
        bos.close();
        sock.close();
    }
}

0 个答案:

没有答案