소켓 통신 시 read 할때..
글쓴이: akrnldytpq / 작성시간: 화, 2011/01/11 - 7:06오후
소켓 통신 할 때 read()를 호출해서 데이터를 읽자나요..
근데 여기서 마지막 인자값으로 데이터 길이를 주는데..
질문 1.
write(fd, buff, 50);
read(fd, buff, 500000);
소켓은 블럭모드이구요.
이렇게 보내기는 50바이트 보냈는데 받기를 500000바이트를 하게 되면 어떠한 문제가 있나요??
질문 2.
read()를 호출하기 전에 데이터 길이를 미리 알 수 있는 방법은 없나요??
Forums:
1. read가 읽은 길이를 리턴해줍니다. 2.
1. read가 읽은 길이를 리턴해줍니다.
2. 메시지바운더리가 보존되지 않는 tcp같은 프로토콜을 사용할 경우에는 길이를 데이터에 기록해넣거나, 특정 바이트나 문자를 데이터의 끝으로 사용하거나등 여러 방법을 이용해서 직접 처리해야 합니다.
댓글 달기