안녕하세요
W5500을 이용하여 PC와 UDP 통신을 하고 있습니다.
PC프로그램에서 전송하는 데이터의 길이가 가변형태로 수바이트에서 수킬로바이트까지 변경되는 특성이 있습니다.
MTU로 인해 데이터가 단편화 되어 보내지고 있는경우가 있어서,
조각난 데이터의 단일화를 W5500에서 받아 프로그램(어플리캐이션)상에서 진행해보려고 시도하고 있습니다.
그런데 조각난 데이터의 경우 수신여부조차 알 수가 없어서 도움이 필요합니다.
W5500에서 정상적인 UDP패킷이 아닌 조각난 패킷이나 그외의 패킷의 데이터를 읽을 수 있는 방법이 없는지요?
예로,소켓4번이 UDP로 설정되고 버퍼가 8K바이트로 설정되었다면
정상적으로 UDP패킷이 수신되면 처리가되고,
단펴화 데이터 또는 그외 데이터의 경우 수신여부를 확인할 수 있는 방법과 해당 데이터를 읽을 수 있는 방법이 궁금합니다.
PC상의 프로그램은 특성상 변경이 불가능한 상황입니다.
해당 내용과 비슷한 단편화와 관련된 문의 답변 내용에
“W5500을 이용하여 UDP 단일화(Fragmentation)을 하기 위해서는 사용자가 응용(Application)단에서 UDP 단일화를 위한 컨트롤을 직접 하셔야 합니다.”
라는 답변이 있는데 위 의 내용이
단편화된 수신 데이터를 읽어와 응용단(어플리케이션)에서 처리하라는 말인지(단편화가 되어도 W5500에서 데이터를 읽을수 있어 응용단에서 수신데이터를 처리할 수 있다는 뜻인지?)
아니면 송신(PC)단과 수신(W5500)단에서 큰 데이터 자체를 응용단에서 미리 가공(서로 미리 협약된 방식으로-단편화가 발생하지 않도록)하여 수신단에서 처리하라는 말인지 궁금하네요
그럼 답변 부탁드리겠습니다.