---
title: "[W7500x] RST, ACK 전송 후 복구 불능"
url: "https://maker.wiznet.io/forum/13379"
markdown_url: "https://maker.wiznet.io/forum/13379/md"
type: "Forum topic"
category: "MCU & Boards"
author: "leejin0"
created: "2019-07-05T06:39:04+09:00"
last_activity: "2019-07-08T09:37:34+09:00"
language: "ko"
views: 997
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# [W7500x] RST, ACK 전송 후 복구 불능

## Question

Asked by leejin0 on 2019-07-05 in MCU & Boards.

TCP 서버로 사용 중입니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/90c8027b42da274f076706462908beddb94af2ad.png) image1382×1005 112 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/90c8027b42da274f076706462908beddb94af2ad.png)

83이 클라이언트, 111이 서버입니다.

서버는 항상 수신해야 하므로 CLOSE_WAIT에서 disconnect 함수를 실행하고 SOCK_CLOSED 이므로 소켓 초기화와 함께 SOCK_LISTEN 상태로 진행합니다.

![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/4/4bb4ff423fbc603920f624899a9c33a24778328f.png)

83 클라이언트( QMODBUS <http://qmodbus.sourceforge.net/> )에서 TCP 세션 연결을 끊자마자 다시 연결하는 것을 반복하면 위 그림과 같이 RST가 발생한 이후 15초 정도 정상 복구가 안되고 있습니다.

polling 주기는 2~3ms 입니다.

또, TCP Retransmission이 거의 항상 발생하고 있는데 RTR 레지스터는 기본 상태입니다.

## Replies

### Reply 1 by becky, 2019-07-08

안녕하세요

disconnect 함수안에서 disconnect 명령을 내린후에 closed 상태가 되기까지 시간이 소요되는것으로 파악됩니다.
바로 socket을 close하고 싶으신경우, disconnect 명령후에 close 명령을 내려주시면 됩니다.

socket.c 의 304다음줄에 close(sn); 을 적어주시면 됩니다.
![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/c/c63d25e3eb6bb3ccf8488389a90e68258870ef7e.png)

---

Source: https://maker.wiznet.io/forum/13379
