u8 tx_mem_conf[8] = {12, 12, 4, 4, 8, 8, 8, 8}; // for setting TMSR regsiter
u8 rx_mem_conf[8] = {1, 2, 13, 14, 8, 8, 8, 8}; // for setting RMSR regsiter
1KB = 1000Byte로 계산하겠습니다
레지스터를 위와 같이 설정을 하였습니다.
소켓1번 Rx버퍼 = 2 KB
소켓 1번에 수신이 600 Byte씩 4번이 오면
이 경우 4번째에는 1.8KB상태에서 600Byte들어오게 됩니다.
- 600Byte 중 200Byte만 받아져서 2KB가 저장되고 400Byte가 버려지게 되나요?
- 4번째를 받게되면 2KB를 넘기기 때문에 600Byte 전부 버려지게 되나요?
- 1번째 보냈던 600Byte 중 필요한 400Byte 가 소멸하고 2KB가 되는 건가요?
Tx의 경우 한번에 보낼때 TMSR 값보다 적은 데이터로 SEND OK를 확인하고 진행하기 때문에 문제가 없어보이는데
수신의 경우 실시간으로 받아져서 해당 소켓이 RMSR 설정값보다 recvfrom 함수를 이용하여 읽지 않았을 때 어떻게 처리되는지 궁금합니다.