---
title: "TCP/IP Connection Established 상태에서"
url: "https://maker.wiznet.io/forum/10153"
markdown_url: "https://maker.wiznet.io/forum/10153/md"
type: "Forum topic"
category: "General"
author: "newcontek"
created: "2014-04-18T15:34:01+09:00"
last_activity: "2017-05-04T08:32:29+09:00"
language: "ko"
views: 4951
replies: 0
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# TCP/IP Connection Established 상태에서

## Question

Asked by newcontek on 2014-04-18 in General.

제가 실험을 계속 해 보고 있습니다만, 소켓 연결만 잘 되면 Data는 잘 보내지고 있는 듯 합니다.
도움에 감사드립니다.

그런데, 클라이언트나 서버 한쪽의 전원이 나갔다 들어와서 리셋이 된 경우에는 오류가 나는 듯 합니다.

제가 실험해 본 결과, 서버에서 Disconnect을 할 경우 클라이언트(기기)는 SOCK_CLOSE_WAIT상태가 되는데,
매뉴얼 대로 이럴 경우는 disconnect를 해 주면 되는 것 같습니다.
클라이언트에서 disconnect할 경우에도 SOCK_CLOSED상태로 잘 빠져 나가는 듯 합니다.

문제는 클라이언트의 전원이 나갔다가 들어오는 등 시스템이 Reset 되면 다시 Socket을 생성하고 Connection을
시도하는데, 이게 안되더군요. 제가 보기에, 서버에서는 아직 Close가 안 된 상태에, 더 정확히는 Established
삳태에 놓여 있기 때문에 안되는 것 같습니다. 서버가 Listen 상태일 경우에만 connect 작업이 가능하니까요.

또한 서버에서 갑자기 호스트 프로그램을 중단해 버리거나 했다가 다시 실행시키는 경우에도 문제가 될 수
있습니다.

조언 부탁드립니다.

---

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