socket으로 파일 전송중(stream)일때 클라이언트에서 중지를 하고 싶으면

 

어떻게 처리해줘야 할까요;

 

클라이언트에서 아래처럼 파일을 받다가 중지를 하거나 클라이언트가 인터넷이 끈겼을 경우 

서버쪽에서는 계속 파일을 보내고 있네요;;

 

//서버에서 파일 보내는 부분

while ((len = bis.read(data)) != -1) {
    System.out.println("Host에서 Guest로 파일 전송 중.. (totallen:" + totallen + "/" + f.length() + ")");
    dos.write(data, 0, len);
    dos.flush();
}

 

//클라이언트 파일 받는 부분

while ((totallen += len = dis.read(data)) <= fileRealSize) {
        bos.write(data, 0, len);
        bos.flush();
        System.out.println("서버->클라이언트로 파일 받는 중.. (totallen:"+totallen+"/"+fileRealSize+")");
}
        

서버쪽에서 클라이언트가 끈기거나 stream을 이제 다썼을때 어떻게 서버에 노티를 하는게 좋을까요?;

아니면 어떻게 서버는 자동적으로 알수 있을까요?;

다른 방법이 있을까요?ㅠㅠ