반갑습니다. 포럼에서 많은 도움 받고 있습니다. 감사합니다.
W5500 UDP 연결해서 사용중입니다.
보드의 송신Data는 PC에서 잘 받습니다. 반대로 PC의 Data는
- getSn_SR(sn) 하면
- case SOCK_UDP: 로 진입은 되나
- if((size = getSn_RX_RSR(sn)) > 0) 에서 size가 항상 0입니다.
wireshark 캡쳐 자료 첨부 드립니다.
반갑습니다. 포럼에서 많은 도움 받고 있습니다. 감사합니다.
W5500 UDP 연결해서 사용중입니다.
보드의 송신Data는 PC에서 잘 받습니다. 반대로 PC의 Data는
첨부 부탁드립니다.
Pcap의 파일형태로 부탁드립니다. 해당 부분만을 보고 답변드리기 어렵습니다.
PC측에서 송수신 포트를 다르게 요청을 해서
다르게 사용하고 있습니다.
같은 포트로 캡쳐한 파일 첨부드립니다.
같은 포트 사용해도 수신은 못하네요. 그리고 TCP는 송수신 잘됩니다.캡쳐(동일포트).zip (4.2 KB)
UDP 사용시 wizchip_con.h 내용을 변경을 해야 하나요?
PC측 송신 프로그램을 다른걸로 하니 제대로 수신됩니다.
TCP에서는 잘되어 믿고 사용했는데, 원인은 모르겠습니다.
그런데 수신Data 사이즈가 보낸것 보다 많은 Data를 수신 하였습니다.
이전에 보낸Data가 뒤에 이어서 나옵니다. 원인이 뭘까요?
“0123456789” 10byte를 보냅니다.
위의 Data는 받은 Data를 RS232로 프린터 한 Data 결과입니다.
캡쳐Data는 10Bytes라고 되어 있습니다.캡쳐.zip (759 바이트)
실제로 수신 길이를 디버깅 하면 18byte가 됩니다.
IO 라이브러리는 ret = recvfrom(sn, buf, size, destip, (uint16_t*)&destport); 에서 받은 ret를 실제 사이즈로 사용하고 있네요. 이렇게 하니 정상입니다.
size = getSn_RX_RSR(sn) 의 사이즈가 8bytes 많은 이유는 뭔가요?
감사합니다.
Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.