반응형
send() - > 송신버퍼로 데이터를 보내 줌.
송신버퍼의 데이터는 운영체제의 통제에 따라 데이터가 전송 됨.
recv() - > 수신버퍼에서 데이터를 가져 옴.
수신버퍼의 데이터 역시 운영체제의 통제에 데이터를 가져 감.
송신버퍼가 꽉 차거나, 수신 버퍼의 데이터가 없을때 각각 send() 와 recv()가 블록 됨.
메시지 설계시 고려 사항
* 경계 구분
[송신자 입장]
- 항상 고정 크기 데이터 전송.
- 경계 구분을 위해 특별한 표시(EOR :End Of Record) 삽입.
- 데이터 길이 데이터를 먼저 보낸 후, 가변 길이 데이터를 이어서 보낸다.
[수신자 입장]
- 항상 고정 크기 데이터 수신
- EOR이 나올때까지 데이터 수신.
- 고정 길이 데이터를 먼저 받아 뒤따라올 데이터의 크기만큼 읽어 들인다.
송신버퍼의 데이터는 운영체제의 통제에 따라 데이터가 전송 됨.
recv() - > 수신버퍼에서 데이터를 가져 옴.
수신버퍼의 데이터 역시 운영체제의 통제에 데이터를 가져 감.
송신버퍼가 꽉 차거나, 수신 버퍼의 데이터가 없을때 각각 send() 와 recv()가 블록 됨.
메시지 설계시 고려 사항
* 경계 구분
[송신자 입장]
- 항상 고정 크기 데이터 전송.
- 경계 구분을 위해 특별한 표시(EOR :End Of Record) 삽입.
- 데이터 길이 데이터를 먼저 보낸 후, 가변 길이 데이터를 이어서 보낸다.
[수신자 입장]
- 항상 고정 크기 데이터 수신
- EOR이 나올때까지 데이터 수신.
- 고정 길이 데이터를 먼저 받아 뒤따라올 데이터의 크기만큼 읽어 들인다.
반응형