WIZnet Developer Forum

[W5300] TCP/IP 통신중에 Socket 이 닫히는 문제 ?

안녕하세요.

W5300 을 사용해서 Server 모드로 동작을 시키고 있습니다.
Socket 은 1개만 사용하고 있고요. 따라서, 메모리는 TX/RX 각각 64KB 로 최대로 사용하고 있습니다.
현재 TCP/IP 모드에서 통신 안정성 테스트를 하고 있습니다.

그런데, 불규칙적으로 Socket 이 닫히는 문제가 있습니다.
PC 에서 닫는 것인지 아니면 W5300 에서 닫는 것인지 불명확 합니다.
WireShark 로 모니터를 해봐도 Socket 이 닫히는 것에 대해서 별도의 프로토콜이 진행되지 않고,
데이터 전송프레임 만이 표시되어 있습니다.

W5300 Server 를 디버깅 해보면 갑자기 상태코드가 SOCK_CLOSED 이 나오면서 Socket 을 닫고, 새로이 Open 합니다.
따라서, PC 에서는 바로 재접속은 가능한 상태로 남아있습니다.

통신 횟수도 10만번(통신 프레임당 10Byte)이 넘은 후에 이런 문제가 발생하기 때문에 단순하게 W5300 의 Interface 에서
문제가 발생한다고 생각하기는 힘들것 같은데요.

어떤 부분에서 문제가 있는지 파악하기가 힘듭니다.
도움 부탁드립니다.

궁금하신점 있으시면 추가적인 개발 환경을 알려드리겠습니다.

안녕하세요

socket이 close 상태로 넘어가는 경우는 PC에서 끊었을때, W5300에서 close나 init 명령을 내렸을 때 입니다.
wireshark에서 FIN packet이 보이지 않으셨다면 W5300에서 close나 init 명령을 내린것으로 추정됩니다.
사용 중이신 시스템에서 buffer overflow 등 기타 문제로 인해 reset이 되는 상황이 의심스럽습니다

추가적으로 init와 close명령을 내리는 부분에 전부 printf를 찍어 debugging 해보시고, printf 로그와 wireshark도 첨부해주시면 좋을 것 같습니다.

감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.