[완료] 소켓으로 파일 전송시 파일의 끝을 어떻게 알아내나요?
글쓴이: fourier / 작성시간: 일, 2009/05/17 - 9:10오후
클라이언트1 -> 클라이언트2 로 파일을 전송하는 프로그램을 어떻게 구현해야 할까요?
저는 단순하게 while문을 통해 1에서 파일을 읽는 족족 2로 전송해 주었습니다.
그리고 받는쪽에선 역시 while문을 통해 1에서 계속 read 해주었습니다.
근데 문제점은 파일의 끝을 모르니 클라이언트2가 read를 멈추지 못하는 것입니다.
고심끝에 1에서 다 보내면 그 표시로 /eof 를 보내주고 2에서는 /eof를 체크해서 멈출려고 했는데요.
이 방법도 tcp 기반에서는 안통네요. /eof이 따로 한 패킷으로 보내지면 좋겠는데 기존의 파일끝에 덧붙여서 보내지더군요.
좋은 방법 없을까요?
Forums:
모르는건 전달해주면
모르는건 전달해주면 되겠죠?
통신 시작때 서로 약속을 해서 처음 몇바이트를 길이로 하겠다고 하고 보내고 받는게 대부분입니다.
아..
생각보다 간단한 곳에 정답이 숨어있었군요..ㅎㅎ
답변 감사합니다..
댓글 달기